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