当前位置: 首页 > 面试题库 >

使用Java API将Parquet格式写入HDFS,而无需使用Avro和MR

翁建弼
2023-03-14
问题内容

什么是简单的方式来写 镶木格式HDFS 通过(使用Java API) 直接创建平面架构 一个POJO的,不使用
的AvroMR

我发现的样品已经过时,并且使用不推荐使用的方法,还使用了Avro,spark或MR之一。


问题答案:

实际上,没有外部框架的帮助,没有太多可用于读取/写入Apache Parquet文件的示例。

镶木地板库的核心是镶木地板列,您可以在其中找到一些直接读取/写入的测试文件:https :
//github.com/apache/parquet-mr/blob/master/parquet-column/src/test/java/org/
apache / parquet / io / TestColumnIO.java

更新:响应API弃用的部分:应将AvroWriteSupport替换为AvroParquetWriter,我检查ParquetWriter是否已弃用并且可以安全使用。

问候



 类似资料:
  • 问题内容: 我有一个场景,其中使用Java将作为Json对象存在的消息转换为Apache Parquet格式。任何示例代码或示例都将有所帮助。据我发现将消息转换为Parquet的内容,正在使用Hive,Pig,Spark。我需要转换为Parquet,而无需Java参与。 问题答案: 要将JSON数据文件转换为Parquet,您需要一些内存表示形式。Parquet没有自己的Java对象集。相反,它重

  • 我正在使用Flume从我的本地文件系统写一些CSV文件到HDFS。 我想知道HDFS水槽的最佳配置是什么,这样本地系统上的每个文件都会在HDFS以CSV格式准确复制。我希望Flume处理的每个CSV文件都是单个事件,作为单个文件刷新和写入。尽可能多地,我希望文件是完全一样的,没有标题的东西等。 我需要在这些值上加什么来模拟我想要的行为? 如果还有其他Flume代理配置变量需要更改,请提供。 如果这

  • 显然它无法解码数据。有什么想法吗?

  • 在HDFS中写入日志文件的最佳方式是什么?我正在尝试配置Apache Flume,并尝试配置能够为我提供数据可靠性的源。我试图配置“exec”,后来也查看了“spooldir”,但flume.apache上的以下文档。org对我的意图表示怀疑- 执行来源: 最常请求的功能之一是像“tail -F file_name”这样的用例,其中应用程序写入磁盘上的日志文件,Flume 尾随文件,将每一行作为事

  • 问题内容: 我有一个使用org.apache.parquet.hadoop.ParquetWriter的工具将CSV数据文件转换为镶木地板数据文件。 目前,它只能处理,和 我需要支持实木复合地板逻辑类型(标注为int96),但由于无法在网上找到精确的规格,因此我不知道该怎么做。 似乎这种时间戳记编码(int96)很少,不能很好地支持。我在网上发现很少的规格详细信息。这个github自述文件指出:

  • 问题内容: 我想在HDFS中创建文件并在其中写入数据。我使用以下代码: 它创建文件,但不写入任何内容。我搜索了很多,但没有找到任何东西。我怎么了 我是否需要任何权限才能在HDFS中写入? 问题答案: 的替代方法,你可以在获取文件系统时传递URI