scala - 检查文件是否为 ORC 文件

标签 scala apache-spark parquet orc

我有一个程序,其输入应为 ORC 文件格式。

我希望能够检查提供的输入是否实际上是一个 ORC 文件。仅检查扩展名是不够的,因为用户可以省略扩展名。

例如,对于 Parquet,我们可以 check如果第一行包含“PAR1”。

ORC 是否有等效的方法?

最佳答案

令人恼火的是,它们与带有神奇字符串 ORC 的 parquet 文件有类似的东西,但它位于文件的末尾。

https://orc.apache.org/specification/ORCv0/

文件末尾前一个字节是Postscript,Postscript的最后三个字节是ORC所以你应该读最后4个字节应该是ORC什么的。

我会使用十六进制编辑器来验证这一点!

关于scala - 检查文件是否为 ORC 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63796983/

相关文章:

apache-spark - 为什么无法在minikube/kubernetes上实例化运行外部Spark的外部调度程序?

java - MapType 在 Spark 3.x : Encoders. bean 中导致 AnalysisException 到包含 map<String, someClass> 的对象失败,这在 Spark 2.4 中工作正常

apache-spark - 从 Spark 中的 Parquet 文件中读取特定列的有效方法

apache-spark - 如何在 SparkSQL 中获取星期几?

python - 两个 dask 数据帧之间的合并给出 MemoryError

java - ORC 文件元数据 : writing custom key value?

postgresql - Slick 3.1.1 sql PSQLException : ERROR: syntax error at or near "" + ""

scala - 为什么将scala编译器参数传递给我的程序?

scala - scala中$ some string的输出是什么

scala - SBT src_management 不可用于编译