提问者:小点点

将Avro转换为Parquet格式


我想从数据库导出数据并转换为AvroParquet格式。Sqoop支持Avro导出,但不Parquet。我尝试使用Apache Pig,Apache Crunch等将Avro对象转换为Parquet,但没有任何效果。

阿帕奇猪给了我“由:org. apache.hadoop.mapreation.lib.input.InvalidInputException引起:输入路径不存在”。但是输入路径存在于该位置。

Apache Crunch总是抛出: java.lang.ClassNotFoundException:Classorg.apache.crunch.impl.mr.run.CrunchMapper not find",尽管我将其添加到Hadoop库路径中。

将数据从DB导出为Parquet格式的最佳简单方法是什么?


共3个答案

匿名用户

我使用蜂巢。

在Avro数据上创建一个外部表。创建一个空的Parquet表。

然后插入覆盖表PARQUET_TABLE从AVRO_TABLE中选择*。

超级简单:)

匿名用户

最新的sqoop(我认为是1.4.6)支持导入到包含Parquet格式数据的文件,也支持导入到与关联的Hive表创建相关的Parquet。

匿名用户

我能够使用sqoop1将mysql表转储到avro文件中,然后使用avro2parquehttps://github.com/tispratik/avro2parquet转换工具将avro文件转换为parquet文件。一旦它在parquet中,我可以将其上传到hdfs并在其上创建一个hive表。如果在0.13之前运行hive版本,您需要在hive中使用parket插件。Hive在0.13中原生支持parque。