gpt4 book ai didi

hadoop - 文件大小不正确的文件系统镜像

转载 作者:行者123 更新时间:2023-12-02 20:48:50 25 4
gpt4 key购买 nike

我开始使用hadoop fsimage来验证我们的ETL进程是否正确加载了数据(具有正确的文件大小)。我解析图像并通过Impala使其可用。我注意到,对于我的查询显示为错误加载的所有文件(文件大小错误),fsimage中显示的文件大小为2147483647。
但是,如果我使用hadoop fs -du查看HDFS,则会得到不同的(正确的)文件大小。有什么想法为什么fsimage将显示此数字?如果我得到一张新图像并再次搜索,则无论过去多少天,该值仍然不正确。

编辑:获取图像的代码不是我开发的:

sudo ssh hostname 'hdfs oiv -p Delimited -i $(ls -t /dfs/nn/current/fsimage_* | grep -v md5 | head -1) -o /dev/stdout 2>/dev/null' | grep -v "/.Trash/" |sed -e 's/\r/\\r/g' | awk 'BEGIN { FS="\t"; OFS="\t" } $0 !~ /_impala_insert_staging/ && ($0 ~ /^\/user\/hive\/warehouse\/cz_prd/ ||   
$0 ~ /^\/user\/hive\/warehouse\/cz_tst/) { split($1,a,"/"); db=a[5]; table=a[6]; gsub(".db$", "", table); } db && $10 ~ /^d/ {par=""; for(i=7;i<=length(a);i++) par=par"/"a[i] } db && $10 !~ /^d/ { par=""; for(i=7;i<=length(a) - 1;i++) par=par"/"a[i]; file=a[length(a)] } NR > 1 { print db,table, par, file, $0 }' | hadoop fs -put -f -
/user/hive/warehouse/cz_prd_mon_ma.db/hive_warehouse_files/fsimage.tsv

最佳答案

尽管我很愚蠢,但我将SQL表定义键入为int。
当我使用hadoop fs -cat command显示文件时,它看起来还不错,所以我将列更改为bigint,现在可以正确显示大小了。

关于hadoop - 文件大小不正确的文件系统镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46845645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com