我是hadoop上json的新手,我有大量的.json类型的日志文件。我需要在mapreduce中解析这些日志。我需要mapreduce作业的例子,它接受.json文件的输入解析它并将其输出到文本文件或.json文件。
[
{
"name":"John",
"city":"Berlin",
"cars":[
"audi",
"bmw"
],
"job":"Teacher"
},
{
"name":"Mark",
"city":"Oslo",
"cars":[
"VW",
"Toyata"
],
"job":"Doctor"
}
]
例如,上面的json应该在mapreduce中解析,以便为我提供具有键的输出:name和in values中所有附加的名称
答案 0 :(得分:0)
Google GSON的JsonReader可能就是您所需要的。不完全确定你要用json数据做什么,但你应该能够从JSONReader文件中传输JSON并相应地处理它
答案 1 :(得分:0)
要将任何数据读入程序,您需要实现 InputFormat 无论是JSON XML还是Avro阅读器,实现都应该超越以下方法
公共摘要
RecordReader<K,V> createRecordReader(InputSplit split,
TaskAttemptContext context
) throws IOException,
InterruptedException;
如果您正在寻找现有的实施方案,只需谷歌或点击此处custom inputformat for reading json in hadoop
输出格式与此无关。您可以根据需要为reducer选择输入和输出类型。只有当您想要生成JSON文件时,您需要一个JSONOutputFormat(FileOutputFormat的实现)