合并n个数据文件以制作单个Spark数据框

时间:2018-11-02 00:38:00

标签: apache-spark pyspark apache-spark-sql

我有'n'个分隔数据集,可能是CSV。但是其中之一可能会有一些额外的列。我试图将所有这些读取为数据帧并将它们放在一个中。如何将它们合并为unionAll并使它们成为单个数据框?

P.S:知道“ n”是什么时,我就可以这样做。而且,当列数相等时,这是一个简单的unionAll。

1 个答案:

答案 0 :(得分:0)

除了前两个注释中提到的解决方案之外,还有另一种方法。

将所有CSV文件读取到一个产生RDD[String]的RDD中。

映射以创建具有适当长度的Rdd[Row],同时用空值或任何适当的值填充缺失值。

创建dataFrame模式。

使用创建的架构从RDD[Row]创建DataFrame。

如果CSV包含大量列,这可能不是一个好方法。 希望这会有所帮助