从python嵌套列表在hdfs中创建数据框

时间:2020-05-03 06:28:37

标签: python dataframe pyspark hdfs

假设我有一个像这样的大清单:

lst = [['david', 'italy', 234], ['alice', 'france', 517], ['kim', 'japan', 673], ...]

我想创建一个包含3列名称,国家/地区和编号的表,并将其另存为hdfs中的拼花地板。

我该如何使用pyspark?

将此列表另存为csv文件并将其直接加载到pyspark中是否更好?

1 个答案:

答案 0 :(得分:2)

使用python写入csv并使用spark加载它是过大的杀伤力。您可以使用createDataFrame直接创建一个DataFrame:

lst = [['david', 'italy', 234], ['alice', 'france', 517], ['kim', 'japan', 673]]

df = spark.createDataFrame(lst, ['name','country','num'])
df.show(3)

+-----+-------+---+
| name|country|num|
+-----+-------+---+
|david|  italy|234|
|alice| france|517|
|  kim|  japan|673|
+-----+-------+---+

最后,使用hdfs方法写入df.write.parquet