如何在我当前的架构中使用Parquet地板?

ivqmmu1c  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(348)

我目前的系统就是这样设计的。
日志解析器将以tsv格式每5分钟解析一次原始日志,并输出到hdfs。我用hdfs的tsv文件创建了hive表。
从一些基准,我发现Parquet地板可以节省多达30-40%的空间使用。我还发现,我可以创建Hive表的Parquet文件开始Hive0.13。我想知道,如果我可以转换为Parquet文件tsv。
任何建议都将不胜感激。

qco9c6ql

qco9c6ql1#

是的,在hive中,通过从一个表插入到另一个表,您可以轻松地从一种格式转换到另一种格式。
例如,如果tsv表定义为:

CREATE TABLE data_tsv
(col1 STRING, col2 INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t';

Parquet地板桌定义如下:

CREATE TABLE data_parquet
(col1 STRING, col2 INT)
STORED AS PARQUET;

可以使用以下方法转换数据:

INSERT OVERWRITE TABLE data_parquet SELECT * FROM data_tsv;

或者您可以通过以下方式跳过Parquet地板表ddl:

CREATE TABLE data_parquet STORED AS PARQUET AS SELECT * FROM data_tsv;

相关问题