Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何将拼花地板文件转换为Avro文件?_Hadoop_Apache Spark_Parquet_Spark Avro - Fatal编程技术网

Hadoop 如何将拼花地板文件转换为Avro文件?

Hadoop 如何将拼花地板文件转换为Avro文件?,hadoop,apache-spark,parquet,spark-avro,Hadoop,Apache Spark,Parquet,Spark Avro,我是hadoop和大数据技术的新手。我喜欢将拼花地板文件转换为avro文件并读取数据。我在几个论坛上搜索,它建议使用AvroParquetReader AvroParquetReader<GenericRecord> reader = new AvroParquetReader<GenericRecord>(file); GenericRecord nextRecord = reader.read(); 但我不知道如何包括AvroParquetReader。我不能 根本

我是hadoop和大数据技术的新手。我喜欢将拼花地板文件转换为avro文件并读取数据。我在几个论坛上搜索,它建议使用AvroParquetReader

AvroParquetReader<GenericRecord> reader = new AvroParquetReader<GenericRecord>(file);
GenericRecord nextRecord = reader.read();
但我不知道如何包括AvroParquetReader。我不能 根本不需要进口

我可以使用spark shell读取此文件,并可能将其转换为一些JSON 然后JSON可以转换成avro。但是我在找一个
更简单的解决方案。

如果您能够使用Spark数据帧,您将能够在Apache Spark中本机读取拼花地板文件,例如在Python伪代码中:

df = spark.read.parquet(...) 
要保存文件,可以使用spark avro spark软件包。要将数据帧作为avro写入,它将类似于:

df.write.formatcom.databricks.spark.avro.save

不要忘记,您需要将正确版本的spark avro spark软件包包括在您的spark cluster版本中,例如,3.1.0-s2.11对应于spark avro软件包3.1,使用与默认spark 2.0 cluster匹配的Scala 2.11。有关如何使用该软件包的更多信息,请参阅

一些方便的参考资料包括:

火花包。
OP特别要求一个比spark shell更简单的解决方案,或者OP要求一个比使用AvroParquetReader从拼花到JSON再到JSON再到Avro更简单的解决方案。我理解你的观点,但如果你提到了关于AvroParquetReader的使用和/或spark shell从拼花到使用JSON作为中介的Avro——然后使用数据帧读取拼花地板并保存到Avro是一个更简单的解决方案。我能理解上下文,也许问题是如何在不使用Spark的情况下将拼花地板转换为Avro。但是,由于这个问题被标记为Apache spark,我认为使用spark提供更简单的解决方案并不是不合理的。我已经删除了我的观点,因为您的答案是公平的。但是,是的,我的兴趣是专门针对没有spark的单机版。这里似乎有一个图书馆,我现在正在试用。哦,刚刚注意到你删除了take评论,我想我是同时回应了你原来的评论;-。祝你无火花转换好运,嗯?!顺便说一句,过去我用过拼花地板mr library,但承认我有一段时间没用过它了。