Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop Sqoop snappy压缩不起作用_Hadoop_Hive_Parquet_Snappy - Fatal编程技术网

Hadoop Sqoop snappy压缩不起作用

Hadoop Sqoop snappy压缩不起作用,hadoop,hive,parquet,snappy,Hadoop,Hive,Parquet,Snappy,我有下面的sqoop脚本,它应该获取拼花地板中的数据并使用snappy压缩 sqoop import \ --hive-drop-import-delims \ --fields-terminated-by '\001' \ --connect '<Connection URL>' \ --query 'select * from <db_name>.<table_name> where $CONDITIONS' \ --username <usern

我有下面的sqoop脚本,它应该获取拼花地板中的数据并使用snappy压缩

sqoop import \ 
--hive-drop-import-delims \
--fields-terminated-by '\001' \
--connect '<Connection URL>' \
--query 'select * from <db_name>.<table_name> where $CONDITIONS' \
--username <username> \
--password <password> \
--split-by '<split-by-key>' \
-m=4 \
--input-null-string '' \
--input-null-non-string '' \
--inline-lob-limit 0 \
--target-dir <hdfs/location/where/files/should/land> \
--compression-codec org.apache.hadoop.io.compress.SnappyCodec \
--as-parquetfile \
--map-column-java NOTES_DETAIL=String,NOTES=String \

正如您在“文件名”或“成功文件”中所看到的那样,您不会在使用压缩的拼花地板文件的扩展名处看到.snappy。在拼花文件中,数据在内部压缩成块。通过“编解码器”选择,您可以为整个文件中的每个块指定应使用的编解码器。不过,拼花规范允许您更改每个数据块中的压缩编解码器,因此您可以在拼花文件中混合压缩编解码器。一些工具生成
.snappy.parquet
文件来指示所选的压缩级别,但这只是装饰性的,因为压缩信息存储在文件的元数据中


若要检查您的拼花文件是否已被快速压缩,请使用
拼花工具检查文件

在拼花文件的扩展名处看不到所使用的压缩。在拼花文件中,数据在内部压缩成块。通过“编解码器”选择,您可以为整个文件中的每个块指定应使用的编解码器。不过,拼花规范允许您更改每个数据块中的压缩编解码器,因此您可以在拼花文件中混合压缩编解码器。一些工具生成
.snappy.parquet
文件来指示所选的压缩级别,但这只是装饰性的,因为压缩信息存储在文件的元数据中


要检查您的拼花地板文件是否已快速压缩,请使用
拼花工具检查文件

使用以下参数启用压缩:

-z、 --压缩


参考:

使用以下参数启用压缩:

-z、 --压缩


参考资料:

谢谢你的回答。我验证了我的文件处于快速压缩状态。然而,为什么我没有得到成功的文件?在每次sqoop加载结束时,我都会得到一个成功文件,但我在这里没有得到。@user2159301:在很多Linux实践中,成功文件用于指示该批作业的状态是成功的,该文件的大小通常为0。感谢您的回答。我验证了我的文件处于快速压缩状态。然而,为什么我没有得到成功的文件?在每次sqoop加载结束时,我都会得到一个成功文件,但我在这里没有得到。@user2159301:在许多Linux实践中,成功文件用于指示批处理中作业的状态是成功的,文件大小通常为0。
21cbd1a6-d58b-4fdc-b332-7433e582ce0b.parquet
3956b0ff-58fd-4a87-b383-4fecc337a72a.parquet
3b42a1a9-4aa7-4668-bdd8-41624dec5ac6.parquet