在pyspark DataFrame中创建一个特定类型的空数组列
回答问题 我尝试向 df 添加一个带有空字符串数组的列,但我最终添加了一列字符串数组。 我试过这个: import pyspark.sql.functions as F df = df.withColumn('newCol', F.array([])) 我怎样才能在 pyspark 中做到这一点? Answers 这是其中一种方式: >>> import pyspark.sql.functions
·
回答问题
我尝试向 df 添加一个带有空字符串数组的列,但我最终添加了一列字符串数组。
我试过这个:
import pyspark.sql.functions as F
df = df.withColumn('newCol', F.array([]))
我怎样才能在 pyspark 中做到这一点?
Answers
这是其中一种方式:
>>> import pyspark.sql.functions as F
>>> myList = [('Alice', 1)]
>>> df = spark.createDataFrame(myList)
>>> df.schema
StructType(List(StructField(_1,StringType,true),StructField(_2,LongType,true)))
>>> df = df.withColumn('temp', F.array()).withColumn("newCol", F.array("temp")).drop("temp")
>>> df.schema
StructType(List(StructField(_1,StringType,true),StructField(_2,LongType,true),StructField(newCol,ArrayType(ArrayType(StringType,false),false),false)))
>>> df
DataFrame[_1: string, _2: bigint, newCol: array<array<string>>]
>>> df.collect()
[Row(_1=u'Alice', _2=1, newCol=[[]])]
更多推荐
已为社区贡献126483条内容
所有评论(0)