使用 snappy 压缩的有效 ORC 文件的最小大小应该是多少

问题描述

我@R_404_6329@处理的场景是每小时 10k orc 文件由 Spark Streaming 应用程序在 HDFS 中生成,并且在一个小时结束后,一个 Spark 合并作业运行并将这些小文件合并到一些更大的块中,并将其写入配置单元登陆路径以供外部表获取。有时,损坏的 ORC 文件会使合并作业失败。工作是找出损坏的 ORC 文件并将其移动到 badrecordspath 中,然后让 spark 合并作业开始。在经历了 ORC 文件的理论之后,似乎一个有效的 ORC 文件将在文件末尾具有 "ORC"(作为字符串)后跟另一个字节。我如何以优化的方式检查它,以便验证那些 10K 兽人文件不会花费太多时间。我想过编写 bash shell 脚本,但验证 HDFS 兽人文件似乎需要一些时间。如果我知道有效 ORC 文件的最小大小,我的想法是缩小验证范围,因为我们大多数损坏的文件的大小都非常小(主要是 3 个字节)。因此,如果我得到任何建议,那将非常有帮助。

PS:我不能使用 set spark.sql.files.ignoreCorruptFiles=true 因为我必须跟踪文件并将它们移动到坏记录路径。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)