擅长:python、mysql、java
<p>使用不同的方法解决了这个问题:分解数组,对元素进行子串,然后收集回数组</p>
<pre><code>import pyspark.sql.functions as F
df1\
.withColumn('idx', F.monotonically_increasing_id())\
.withColumn('exploded_col', F.explode(col('col1')))\
.withColumn('substr_col', F.substring(col('exploded_col'),1,5))\
.groupBy(col('idx'))\
.agg(F.collect_set('substr_col').alias('new_column'))
</code></pre>