我有两个镶木地板文件,镶木地板A有137列,镶木地板B有110列。实木复合地板文件包含表的整个历史记录。因此,镶木地板A具有表的整个历史记录的所有字段。今天我输入的所有值都是Parquet B,并且删除了17列。我想将实木复合地板A与实木复合地板B结合起来,但是它们没有相同数量的列。所以每次都会失败。
我尝试了mergeSchema,但是失败了。是否可以将缺少的列添加到镶木地板B中并添加空值。然后建立工会?
答案 0 :(得分:0)
我建议您将两个镶木地板文件作为数据帧加载到Spark中,并使用转换来匹配数据帧的架构。根据您的描述,听起来好像您希望对Parquet A(较大的表)进行转换,使其与Parquet B的架构匹配。 “放置”列功能是完成此操作的直接方法 [docs]。
这是我写的一个示例,其中镶木地板A有5列,镶木地板B有4列。