分析S3上的大量JSON文件

时间:2014-01-15 14:56:22

标签: hadoop hive apache-pig bigdata amazon-redshift

我有大量的json文件,总共> 100TB大小,每个json文件都是10GB bzip,每行包含一个json对象,它们存储在s3上

  1. 如果我想将json转换为csv(也存储在s3中),那么我可以直接将它们导入到redshift中,使用hadoop编写自定义代码是唯一的选择吗?

  2. 是否可以对json文件进行adhoc查询而不将数据转换为其他格式(因为我不想在每次需要进行查询时将它们转换为其他格式,因为源是生长)

1 个答案:

答案 0 :(得分:3)

最快捷,最简单的方法是启动一个装有Hive的EMR集群来完成繁重的工作。通过使用JsonSerde,您可以轻松地将数据转换为csv格式。这只需要您将数据插入到JSON格式表中的CSV格式表中。

可以在这里找到处理JsonSerde的好教程:

http://aws.amazon.com/articles/2855

用于CSV格式的好库也是:

https://github.com/ogrodnek/csv-serde

EMR群集可能是短暂的,只有一个作业才需要,也可以跨越低成本的现场实例。

获得CSV格式后,Redshift COPY文档就足够了。

http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html