sql—如何通过配置单元查询分析图像的内容

rn0zuynd  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(331)

需要帮忙吗
我已经下载了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);
但它不提供数据..文件大小都是以字节为单位的。

hgncfbus

hgncfbus1#

由于堆内存错误,此作业失败。在执行hdfs oiv命令之前尝试增加堆大小。

export HADOOP_OPTS="-Xmx4096m"

如果命令仍然失败,您可能需要将fsimage移动到另一台具有更多内存的计算机/服务器,并使用上述环境变量增加堆内存。

zpf6vheq

zpf6vheq2#

select joinedpath, sumsize
from 
(
select joinedpath,round(sum(filesize)/1024/1024/1024,2) as sumsize
from
(select concat('/',split(hdfspath,'\/')[1]) as joinedpath,accesstime,filesize, userx 
from default.hdfs_meta_d
)t
where joinedpath != 'null'
group by joinedpath
)h

请检查上面的查询,它可以帮助您!

相关问题