在map reduce中读取avro文件记录,与模式无关

esbemjvw  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(317)

我需要写一个map reduce程序,从整个hdfs文件中读取avro文件。我的mapper代码输入将是具有不同模式的不同avro文件。在代码的mapper部分,我需要读取文件的整个记录,而不考虑文件模式。有谁能告诉我,我们怎样才能从avro那里读到一整张唱片。
提前谢谢。

13z8s7eq

13z8s7eq1#

总的来说,我认为这是可行的。不确定您想要实现什么,但是假设您想对由相同模式支持的记录做些什么。
在Map器中,读取字节并获取模式json。下面是一个如何获取模式的示例:http://www.programcreek.com/java-api-examples/index.php?api=org.apache.avro.generic.genericdatumreader Map器的键是schema json字符串,值是记录(字节)。然后在reducer中,您将拥有所有相同的模式,并且可以使用genericord使用提供的模式反序列化数据,并执行任何您想要的操作。

相关问题