【发布时间】:2019-11-27 14:37:42
【问题描述】:
我正在尝试编写一个基于 Scala 的 AWS Lambda 来读取基于 S3 的 Snappy 压缩 Parquet 文件。该过程会将它们写回分区的 JSON 文件中。
我一直在尝试使用 org.apache.parquet.hadoop.ParquetFileReader 类来读取文件...不推荐使用的方法似乎是通过 org.apache.parquet.io 的实现.InputFile 接口。有一个用于 Hadoop (HadoopInputFile)...但我找不到用于 S3 的一个。我还尝试了该类的一些已弃用的方法,但也无法让它们与 S3 一起使用。
有解决这个问题的办法吗?
以防万一有人感兴趣...为什么我在 Scala 中这样做?嗯......我想不出另一种方法来做到这一点。 Parquet 的 Python 实现(pyarrow 和 fastparquet)似乎都难以处理基于复杂列表/结构的模式。
另外,我看到了一些基于 AvroParquetReader 的代码 (Read parquet data from AWS s3 bucket),它们可能是一个不同的解决方案,但如果没有已知的架构,我无法让这些代码工作。但也许我在那里遗漏了一些东西。
我真的很想让 ParquetFileReader 类工作,因为它看起来很干净。
欣赏任何想法。
【问题讨论】:
标签: java amazon-s3 aws-lambda parquet