我有一个存储在HDFS中的json文件(大小2-3 GB)。我的苍蝇看起来像这种格式
{ "DateTime" : 24-08-2015T00:00:00, "Cost":53.09,"UID":9,"Channel":"some Channel"}
{ "DateTime" : 25-08-2015T00:00:00, "Cost":54.09,"UID":8,"Channel":"some Channel2"}
{ "DateTime" : 24-08-2015T00:00:00, "Cost":56.09,"UID":7,"Channel":"some Channel3"}
我正在尝试编写一个map reduce来将这个json文件转换为顺序文件,然后读取json对象。因为我需要使用gson更快地执行,然后在java对象中转换它需要时间。我搜索了它,发现JAQL可以做同样的事情,但我没有得到任何Java MR代码。我甚至没有为JAQL找到maven jars。我无法在我的服务器上明确设置它。 有没有办法使用Java代码实现它?
答案 0 :(得分:1)
我会提供Tika
这个项目的描述:
使用MapReduce for Hadoop将Apache Tika与Jaql集成
这个项目有助于克服使用Jaql在Hadoop中处理多个小文件的低效率。此外,它允许使用Apache Tika在Hadoop中处理和分析二进制文档,方法是将其集成到Jaql中,Jaql将生成MapReduce作业。 请检查样品