使用 Hive on spark 将数据从 gzip 格式转换为 sequenceFile 格式
Convert data from gzip to sequenceFile format using Hive on spark
I'm trying to read a large gzip file into hive through spark runtime
to convert into SequenceFile format
而且,我想高效地做到这一点。
据我所知,Spark 只支持每个 gzip 文件一个映射器,就像它对文本文件一样。
有没有办法更改正在读取的 gzip 文件的映射器数量?还是我应该选择另一种格式,如镶木地板?
我目前卡住了。
问题是我的日志文件是 json-like 数据保存为 txt 格式,然后是 gzip - ed,所以为了阅读我使用了 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 上节省存储空间,请使用 bzip2
compression 在 hdfs.You 上压缩你的 json 文件可以查询 .bzip2 json
无需修改任何内容即可从配置单元中提取文件。
I'm trying to read a large gzip file into hive through spark runtime to convert into SequenceFile format
而且,我想高效地做到这一点。
据我所知,Spark 只支持每个 gzip 文件一个映射器,就像它对文本文件一样。
有没有办法更改正在读取的 gzip 文件的映射器数量?还是我应该选择另一种格式,如镶木地板?
我目前卡住了。
问题是我的日志文件是 json-like 数据保存为 txt 格式,然后是 gzip - ed,所以为了阅读我使用了 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 上节省存储空间,请使用 bzip2 compression 在 hdfs.You 上压缩你的 json 文件可以查询 .bzip2 json 无需修改任何内容即可从配置单元中提取文件。