背景:
我在HDFS目录中有一些gzip文件。这些文件的命名格式为yyyy-mm-dd-000001.gz、yyyy-mm-dd-000002.gz等等
目标:
我想构建一个配置单元脚本,它生成一个包含以下列的表:第1列-日期(yyyy-mm-dd),第2列-总文件大小。
具体来说,我想总结一下特定日期的所有gzip文件的大小。总和将是第2列中的值和第1列中的日期。
这可能吗?是否有任何内置函数或UDF可以帮助我处理用例?
提前感谢!
MapReduce作业似乎效率不高,因为实际上不需要加载任何数据。另外,在蜂巢里这样做似乎有点尴尬。
你能写一个bash脚本或python脚本或类似的东西来解析hadoop fs -ls
的输出吗?我会想象这样的事情:
$ hadoop fs -ls mydir/*gz | python datecount.py | hadoop fs -put - counts.txt