gpt4 book ai didi

hadoop - 使用 Hive on spark 将数据从 gzip 格式转换为 sequenceFile 格式

转载 作者:可可西里 更新时间:2023-11-01 14:48:16 27 4
gpt4 key购买 nike

I'm trying to read a large gzip file into hive through spark runtime to convert into SequenceFile format

而且,我想高效地做到这一点。

据我所知,Spark 只支持每个 gzip 文件一个映射器,就像它对文本文件一样。

有没有办法改变正在读取的 gzip 文件的映射器数量?还是我应该选择另一种格式,如 Parquet ?

我现在卡住了。问题是我的日志文件是类似 json 的数据,保存为 txt 格式,然后进行 gzip 压缩,所以为了阅读,我使用了 org.apache.spark.sql.json

我看到的示例显示 - 将数据转换为 SequenceFile 有一些简单的分隔符,如 csv 格式。

我曾经执行过这个查询:

create TABLE table_1
USING org.apache.spark.sql.json
OPTIONS (path 'dir_to/file_name.txt.gz');

但现在我必须用类似的方式重写它:

CREATE TABLE table_1(
ID BIGINT,
NAME STRING
)
COMMENT 'This is table_1 stored as sequencefile'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS SEQUENCEFILE;

LOAD DATA INPATH 'dir_to/file_name.txt.gz' OVERWRITE INTO TABLE table_1;


LOAD DATA INPATH 'dir_to/file_name.txt.gz' INTO TABLE table_1;


INSERT OVERWRITE TABLE table_1 SELECT id, name from table_1_text;

INSERT INTO TABLE table_1 SELECT id, name from table_1_text;

这是执行此操作的最佳方法,还是有更简单的方法来解决此问题?请帮忙!

最佳答案

由于 gzip 文本文件不可拆分,因此只会启动一个映射器或如果要使用多个,则必须选择其他数据格式映射器。

如果有巨大的 json 文件并且您想在 hdfs 上保存存储空间,请使用 bzip2compression 在 hdfs 上压缩你的 json 文件。你可以查询 .bzip2 json无需修改任何内容即可从 hive 中提取文件。

关于hadoop - 使用 Hive on spark 将数据从 gzip 格式转换为 sequenceFile 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45229581/

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