这是WordCount的下集。
上周五往hdfs文件系统上传了620G的文件,然后在上面跑了一个wc(MR)任务,运行3个半小时跑出了结果,结果是一个6.68M的snappy压缩文件。如何分析这压缩文件呢?
首先尝试使用cat看一眼这个文件的内容,结果悲剧了,直接两三分钟没有看完,全屏幕的乱码,只有 ctrl + c 中断。
然后查到 text命令可以查看压缩文件的内容
这次看到了文件的内容,不过屏幕滚完,十来分钟的时间又过去了,再就是直接使用>>重定向到本地文件了。 不使用重定向使用管道符号也是可以玩的。
未压缩文件39M, 压缩之后6.7M, 可见压缩比例还是挺高的。 直接节约了(39-6.68)*3M的存储空间。
终于看到了这个压缩文件的前20行数据, 每行两列,第一列是word,第二列是该word出现的次数。
如何根据word出现的次数进行排序呢?
在hive上新建如下的table
将压缩文件load到table中去。
执行select语句
一两分钟后就可以看到如下的排序结果了
使用hive能直接分析压缩文件是不是一件很酷的事情?
更新于n周后的一天。。。。。。 sort by 不保证全局有序
reduce 的任务数量为-1是什么?
不过对于这几十M的小文件,直接使用linux命令玩耍起来更快速。
当然文件大到一定的程度linux命令就玩不了了。