FusionInsight V100R002C60U10 loader导HDFS文件到sftp服务器文件大小不一致

发布时间:  2017-05-24 浏览次数:  92 下载次数:  0
问题描述
通过loader将HDFS中的目录导出到sftp服务器中,导出后发现sftp服务器中的目录文件变大了,目录数没变
如下图导出前HDFS的目录文件大小总和

如下图导入sftp服务器中查看到导出的文件大小
处理过程

1、通过get命令将文件get到sftp服务器,对比下文件大小,发现get出来的文件大小为176M,比源目录文件大,比loader导出的文件小很多


2、经排查确认,loader导出的时候需,文件类型需要选择二进制方式binary文件类型,如果选择TXT会有一些换行符等转义字符也会计算大小,用户就是选择了TXT文件类型导致导出的文件大小差异很大,


3、选择二进制方式导出后文件大小与get出来的目录文件大小一致

4、由于Linux中目录也会占用空间,而HDFS中目录不会占用空间,所以导出的文件会比HDFS中查询到的文件要大一点,这个差异随着目录数的增加而增加,如果只是文件则大小一致



根因

1、导出的文件类型选择不对

2、Linux中文件目录会占用空间,HDFS中的目录不会占用空间

解决方案

1、文件类型选择二进制方式

2、Linux目录机制和HDFS机制不一样,不影响文件查询使用,不需要处理

END