use*_*851 5 text-files avro impala parquet
我有一个有分区的表,我使用avro文件或文本文件来创建和插入表.
桌子完成后,有没有办法转换成实木复合地板.我的意思是我知道我们CREATE TABLE default.test( name_id STRING)
PARTITIONED BY ( year INT, month INT, day INT ) STORED AS PARQUET最初可以在创建表本身时说完.
在我的用例中,我最初必须使用文本文件.这是因为我想避免每次插入或更新时在分区文件夹中创建多个文件.我的表具有非常多的插入和更新,这会导致性能下降.在创建表格并插入数据后,有没有办法可以转换成镶木地板?
Ray*_*Ray 13
您可以在hdfs中创建数据表,可以存储为text,avro或任何格式.
然后你可以使用以下方法创建另一个
CREATE TABLE x_parquet LIKE x_non_parquet STORED AS PARQUET;
Run Code Online (Sandbox Code Playgroud)
然后,您可以将压缩设置为snappy或gzip:
SET PARQUET_COMPRESSION_CODEC=snappy;
Run Code Online (Sandbox Code Playgroud)
然后,您可以从非镶木桌子获取数据并将其插入新的拼花背桌:
INSERT INTO x_parquet select * from x_non_parquet;
Run Code Online (Sandbox Code Playgroud)
现在,如果您想节省空间并避免混淆,我会自动执行此操作以获取任何数据,然后删除原始的非拼接格式.这将有助于您的查询运行更快,并使您的数据占用更少的空间.
| 归档时间: |
|
| 查看次数: |
8535 次 |
| 最近记录: |