我有'n'个分隔数据集,可能是CSV。但是其中之一可能会有一些额外的列。我试图将所有这些读取为数据帧并将它们放在一个中。如何将它们合并为unionAll并使它们成为单个数据框?
P.S:知道“ n”是什么时,我就可以这样做。而且,当列数相等时,这是一个简单的unionAll。
答案 0 :(得分:0)
除了前两个注释中提到的解决方案之外,还有另一种方法。
将所有CSV文件读取到一个产生RDD[String]
的RDD中。
映射以创建具有适当长度的Rdd[Row]
,同时用空值或任何适当的值填充缺失值。
创建dataFrame模式。
使用创建的架构从RDD[Row]
创建DataFrame。
如果CSV包含大量列,这可能不是一个好方法。 希望这会有所帮助