impala-替换表分区中的所有数据

2ic8powd  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(482)

我有一个程序,可以生成有关impala表分区的所有数据。这个程序将数据写入hdfs文本文件。
如何(物理上)删除以前属于分区的所有数据,并用以Parquet格式转换的新文本文件中的数据替换它们?
如果我用原始的hdfsapi物理地删除组成分区的旧Parquet文件,会干扰impala吗?

vddsk6oq

vddsk6oq1#

为文本文件创建表:

create external table stg_table (...) location '<your text file in hdfs>';

外部数据更改后,您必须刷新它:

refresh stg_table;

然后插入到目标表中

insert overwrite table target_table select * from stg_table;

如果目标表已分区,请执行以下操作:

insert overwrite table target_table partiton(<partition spec>) select * from stg_table;

关键字“overwrite”起作用,它覆盖表或分区。

相关问题