需要帮忙吗
我已经下载了fsimage转换成一个分隔csv文件通过oiv工具。我还创建了一个配置单元表并将csv文件插入其中。
我不太熟悉sql,因此查询数据很困难。
例如:文件中的每条记录都是这样的:
/tmp/hive/hive/hive/ltonnakaanyan//9cc01cccc22/9ccccc22-5510-9f5-614726869f6d/hive(2017-05-08-08-08-08-08-44-44-39 U 680/hive/hive/ltontatatakakanakaanyan//9p/9tp/tmp/hive/hive/hive(2017-08-08-08-08-08-08-08-08-08-08-08-08-08-08-08-08-08-08-08-08-08-08/08-08-08/2017-08-08-08-08-08-08-08-08-44 00.1/10001/10001/10001/000441/0 0 0 0 0.泄气(0.0)0。泄气;3 124;-rw-r-----ltonakanyan | hdfs
/data/lz/cpi/ofz/zd/cbt\u ca\u verint/new\u data/2017-09-27/253018001769667.xml | 3 | 2017-09-2723:41 | 2017-09-2817:09 | 134217728 | 1 | 14549 | 0 |-rw-r-----bc55 | ah u appid | hdfs
表说明为:
|hdfspath |字符串
|复制| int
|修改时间|字符串
|访问时间|字符串
|首选块大小| int
|Blockscont |内景
|文件大小| bigint
|nsquota |比基特
|dsquota |比基特
|权限X |字符串
|用户x |字符串
|groupx |字符串
我需要知道如何只查询/tmp,/data和filesize,然后转到第二级(/tmp/hive)(/data/lz),以及filesize的后续级别
我创建了这样的东西:select substr(hdfspath,2,instr(substr(hdfspath,2),“/”)-1)zone,sum(filesize)from example group by substr(hdfspath,2,instr(substr(hdfspath,2),“/”)-1);
但它不提供数据..文件大小都是以字节为单位的。
2条答案
按热度按时间hgncfbus1#
由于堆内存错误,此作业失败。在执行hdfs oiv命令之前尝试增加堆大小。
如果命令仍然失败,您可能需要将fsimage移动到另一台具有更多内存的计算机/服务器,并使用上述环境变量增加堆内存。
zpf6vheq2#
请检查上面的查询,它可以帮助您!