我们正在以 ORC 格式将处理输出保存到 HDFC。现在我们有具有多个架构的文件,我想读取所有文件并创建数据集。
一个选择是我将编写一些作业并将所有这些文件转换为单个模式,我想避免 bcz 数据太大,并且这是一次性解决方案,如果有一天模式再次更改我必须重新生成所有数据
我的问题是有什么机制可以让我读取这些文件 假设我将在阅读本文时提供更高的模式,如果任何 orc 文件中不存在某些字段,则阅读器将自动分配空值。
最佳答案
我有一个similar problem 。 ORC模式合并是开放的feature request ,我们也像您评论中的其他用户一样切换到 Parquet 。
仍然可以(不推荐,因为它非常慢)逐个加载文件并将其保存到 .parquet,然后使用自动模式合并加载所有 .parquet 文件并将大量内存保存到 .orc
关于java - 在 Spark 中读取两个不同的 ORC 架构文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45832355/