我在Hadoop集群中存储了几个不均匀的结构化文件。这些文件包含标题行,但并非所有文件都包含相同的列。
file1.csv:
a,b,c
1,2,1
file2.csv:
a,b,d
2,2,2
我需要做的是在a列或c列中查找所有数据,然后进一步处理(可能是Spark SQL)。所以我期望像这样:
a,b,c,d
1,2,1,,
2,2,,2
只要做
spark.read.format("csv").option("header", "true").load(CSV_PATH)
将丢失在读取的“第一”文件中不存在的所有列。
我该怎么做?转换为Parquet及其数据集是否有更好的方法?
答案 0 :(得分:0)
分别读取两个文件并创建两个数据框。然后在这两个w.r.t联接键之间进行内部联接,如a,b