Hive - 可以获取目录中文件部分的总大小?

时间:2015-04-10 20:39:36

标签: hadoop hive hdfs hiveql hive-udf

背景:

我在HDFS目录中有一些gzip文件。这些文件的格式为yyyy-mm-dd-000001.gz,yyyy-mm-dd-000002.gz等。

目的:

我想构建一个hive脚本,它生成一个包含列的表:第1列 - 日期(yyyy-mm-dd),第2列 - 文件总大小。

具体来说,我想总结一下特定日期的所有gzip文件的大小。总和将是第2列中的值和第1列中的日期。

这可能吗?是否有任何内置函数或UDF可以帮助我处理我的用例?

提前致谢!

1 个答案:

答案 0 :(得分:0)

由于您实际上不必加载任何数据,因此MapReduce作业似乎并不高效。另外,在Hive中这样做似乎有点尴尬。

你能编写一个bash脚本或python脚本或类似的东西来解析hadoop fs -ls的输出吗?我想象这样的事情:

$ hadoop fs -ls mydir/*gz | python datecount.py | hadoop fs -put - counts.txt