【问题标题】:Impala - convert existing table to parquet formatImpala - 将现有表格转换为镶木地板格式
【发布时间】:2014-10-14 16:10:03
【问题描述】:

我有一个有分区的表,我使用 avro 文件或文本文件来创建并插入到一个表中。

一旦桌子完成,有没有办法转换成镶木地板。 我的意思是我知道我们最初可以在创建表本身时说 CREATE TABLE default.test( name_id STRING) PARTITIONED BY ( year INT, month INT, day INT ) STORED AS PARQUET
在我的用例中,我最初必须使用文本文件。这是因为我想避免每次插入或更新时在分区文件夹中创建多个文件。我的表有大量的插入和更新,这导致性能下降。 有没有办法在创建表并插入数据后转换成镶木地板?

【问题讨论】:

    标签: text-files avro parquet impala


    【解决方案1】:

    您可以在 hdfs 中为您的数据创建一个表格,该表格可以存储为文本、avro 或任何格式。

    然后您可以使用以下命令创建另一个表:

    CREATE TABLE x_parquet LIKE x_non_parquet STORED AS PARQUET;
    

    然后您可以将压缩设置为 snappy 或 gzip:

    SET PARQUET_COMPRESSION_CODEC=snappy;
    

    然后您可以从非 parquet 表中获取数据并将其插入新的 parquet 支持表中:

    INSERT INTO x_parquet select * from x_non_parquet;
    

    现在,如果您想节省空间并避免混淆,我会为任何数据摄取自动执行此操作,然后删除原始的非镶木地板格式。这将帮助您的查询运行得更快,并使您的数据占用更少的空间。

    【讨论】:

    • "创建表 x_parquet 像 x_non_parquet 一样存储为 PARQUET;"在 hive 0.14 中失败
    猜你喜欢
    • 2019-05-26
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    相关资源
    最近更新 更多