【发布时间】:2020-09-14 17:33:57
【问题描述】:
我有一些 Parquet 文件是我使用 PyArrow (Apache Arrow) 在 Python 中编写的:
pyarrow.parquet.write_table(table, "example.parquet")
现在我想使用 Java 程序读取这些文件(最好是获取箭头表)。
在 Python 中,我可以简单地使用以下命令从 Parquet 文件中获取箭头表:
table = pyarrow.parquet.read_table("example.parquet")
在 Java 中是否有等效且简单的解决方案?
我真的找不到任何好的/工作示例,也找不到任何有用的 Java 文档(仅适用于 Python)。或者某些示例没有提供所有需要的 Maven 依赖项。我也不想使用 Hadoop 文件系统,我只想使用本地文件。
注意:我还发现我不能使用“Apache Avro”,因为我的 Parquet 文件包含带有符号 [、] 和 $ 的列名,这些符号在 Apache Avro 中是无效字符。
另外,如果您的解决方案使用 Maven,请您提供 Maven 依赖项。
我在 Windows 上使用 Eclipse。
更新(2020 年 11 月):我从未找到合适的解决方案,只是坚持使用 Python 来解决我的用例。
【问题讨论】:
-
PyArrow Table 对象不是 Apache Arrow 规范的一部分,也没有在 Java 中实现。我也在努力寻找解决方案。我已经使用 Parquet 实现了 Spark 3.0.1。我一直在寻找独立于框架的解决方案。
-
也许 Dremio (github.com/dremio/dremio-oss) 可以提供解决方案。
标签: java python eclipse parquet apache-arrow