我有一个程序,可以生成有关impala表分区的所有数据。这个程序将数据写入hdfs文本文件。如何(物理上)删除以前属于分区的所有数据,并用以Parquet格式转换的新文本文件中的数据替换它们?如果我用原始的hdfsapi物理地删除组成分区的旧Parquet文件,会干扰impala吗?
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”起作用,它覆盖表或分区。
1条答案
按热度按时间vddsk6oq1#
为文本文件创建表:
外部数据更改后,您必须刷新它:
然后插入到目标表中
如果目标表已分区,请执行以下操作:
关键字“overwrite”起作用,它覆盖表或分区。