如何将整个列表内容添加到Pyspark数据框行中?

时间:2019-02-18 11:50:57

标签: python dataframe pyspark

我正在根据字符串列表创建一个新的pyspark数据框。我的代码应如何显示?

这是我的列表:['there','is','one','that','commands],这是我理想中想要的:

单词(标题)

第1行:[“那里”,“是”,“一个”,“那个”,“命令”] 第2行:['test','try'

我已经尝试了以下代码,但没有一个能完全满足我的需求。

test_list=['hi','bye','thanks']
test_list=sc.parallelize(test_list)

schema = StructType([StructField("name", StringType(), True)])
df3 = sqlContext.createDataFrame(test_list, schema)

AND

test_list=['hi','bye','thanks']
test_list=sc.parallelize(test_list)
df3 = sqlContext.createDataFrame(row(test_list), schema)

我无法使用df.show()显示数据框。

1 个答案:

答案 0 :(得分:-1)

您只需要导入Row对象,其他都很好。

from pyspark.sql.types import Row, StructType, StructField, StringType
test_list=['hi','bye','thanks']
test_list=sc.parallelize(test_list)

rdd= test_list.map(lambda t: Row(name=t))
schema = StructType([StructField("name", StringType(), True)])
df = sqlContext.createDataFrame(rdd, schema)
df.show()
+------+
|  name|
+------+
|    hi|
|   bye|
|thanks|
+------+