从 python 嵌套列表在 hdfs 中创建数据框
Create a dataframe in hdfs from a python nested list
假设我有一个像这样的大列表:
lst = [['david', 'italy', 234], ['alice', 'france', 517], ['kim', 'japan', 673], ...]
我想创建一个包含 3 列名称、国家/地区和编号的 table 并将其保存为 hdfs 中的镶木地板。
我怎样才能用 pyspark 做到这一点?
将此列表保存为csv文件并直接加载到pyspark中是否更好?
用 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|
+-----+-------+---+
最后,用df.write.parquet
方法写入hdfs
假设我有一个像这样的大列表:
lst = [['david', 'italy', 234], ['alice', 'france', 517], ['kim', 'japan', 673], ...]
我想创建一个包含 3 列名称、国家/地区和编号的 table 并将其保存为 hdfs 中的镶木地板。
我怎样才能用 pyspark 做到这一点?
将此列表保存为csv文件并直接加载到pyspark中是否更好?
用 python
写入 csv 并用 spark
加载它是多余的。您可以直接使用 createDataFrame
:
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|
+-----+-------+---+
最后,用df.write.parquet
方法写入hdfs