假设我有一个像这样的大清单:
lst = [['david', 'italy', 234], ['alice', 'france', 517], ['kim', 'japan', 673], ...]
我想创建一个包含3列名称,国家/地区和编号的表,并将其另存为hdfs中的拼花地板。
我该如何使用pyspark?
将此列表另存为csv文件并将其直接加载到pyspark中是否更好?
答案 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