我目前的系统就是这样设计的。日志解析器将以tsv格式每5分钟解析一次原始日志,并输出到hdfs。我用hdfs的tsv文件创建了hive表。从一些基准,我发现Parquet地板可以节省多达30-40%的空间使用。我还发现,我可以创建Hive表的Parquet文件开始Hive0.13。我想知道,如果我可以转换为Parquet文件tsv。任何建议都将不胜感激。
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;
1条答案
按热度按时间qco9c6ql1#
是的,在hive中,通过从一个表插入到另一个表,您可以轻松地从一种格式转换到另一种格式。
例如,如果tsv表定义为:
Parquet地板桌定义如下:
可以使用以下方法转换数据:
或者您可以通过以下方式跳过Parquet地板表ddl: