将avro转换为parquet格式

q0qdq0h2  于 2021-06-21  发布在  Pig
关注(0)|答案(3)|浏览(447)

我想从数据库导出数据并转换成avro+parquet格式。sqoop支持avro导出,但不支持parquet。我尝试使用apachepig、apachecrunch等将avro对象转换为parquet,但没有成功。
apache pig告诉我“原因:org.apache.hadoop.mapreduce.lib.input.invalidinputexception:输入路径不存在”。但输入路径存在于该位置。
apache crunch always throw:java.lang.classnotfoundexception:class org.apache.crunch.impl.mr.run.crunchmapper not found“尽管我将其添加到hadoop lib路径中。
将数据库中的数据导出为Parquet格式的最佳且简单的方法是什么?

8i9zcol2

8i9zcol21#

我用Hive。
在avro数据上创建一个外部表。创建一个空的Parquet地板表。
然后插入overwrite table parquet\u table select*from avro\u table。
超级简单:)

42fyovps

42fyovps2#

最新的sqoop(我认为是1.4.6)支持导入到包含parquet格式数据的文件,还支持导入到parquet并创建相关的配置单元表。

yrdbyhpb

yrdbyhpb3#

我能够使用sqoop1将mysql表转储到avro文件中,然后使用avro2parquet将avro文件转换为parquet文件https://github.com/tispratik/avro2parquet 转换工具。一旦它在Parquet地板,我可以上传到hdfs和创建一个Hive表上面。如果运行0.13之前的配置单元版本,则需要配置单元中的Parquet插件。Hive在0.13支持本机Parquet。

相关问题