如何将本地 ORC 文件转换为 CSV?

How can I convert local ORC files to CSV?

我的本地机器上有一个 ORC 文件,我需要它的任何合理格式(例如 CSV、JSON、YAML 等)。

如何将 ORC 转换为 CSV?

  1. Download
  2. 解压文件,进入java文件夹,执行maven:mvn install
  3. 使用 ORC 工具

这就是我使用它们的方式 - 您可能需要调整路径:

java -jar ~/.m2/repository/org/apache/orc/orc-tools/1.5.4/orc-tools-1.5.4-uber.jar data ~/your_file.orc > output.json

输出为 JSON Lines,很容易转换为 CSV。首先,我需要从输出中删除最后两行。那么:

import pandas as pd

df = pd.read_json('output.json', lines=True)
df.to_csv('output.csv')

另一个选项可以是 bigdata-file-viewer,它是一个跨平台应用程序。您可以打开 ORC 文件并将文件保存为 CSV 格式。

详细用法如下:

  • 从发布页面下载可运行的 jar 或按照构建部分从源代码构建。
  • 通过 java -jar BigdataFileViewer-1.2-SNAPSHOT-jar-with-dependencies.jar
  • 调用它
  • 通过“文件”->“打开”打开二进制格式文件。目前可以打开parquet后缀、orc后缀和avro后缀的文件。如果未指定后缀,该工具将尝试将其提取为 Parquet 文件
  • 通过“查看”->输入最大行数->“转到”设置每页的最大行数
  • 通过“查看”->“Add/Remove属性”设置可见属性
  • 通过“文件”->“另存为”->“CSV”转换为 CSV 文件
  • 展开“架构信息”面板查看架构信息