我有一个表(main_table),它被分区并存储记录的历史记录,并带有一个标志来指示记录是否被删除。我有另一个table9del_table),它与main_table具有相同的模式,但只存储一天的已删除记录(delete_falg ='Y')。
作为一个过程,我需要每天将del_table中可用的记录移动到main_table。我正在尝试编写一个LOAD DATA INPATH命令,该命令可以将del_table的各个分区中可用的数据移动到main_table的相应分区,但我的尝试似乎都没有。请告诉我是否可以通过使用LOAD DATA INPATH命令实现它,同时指定单独的分区?
我正在尝试以下步骤,但它在第二步失败: set nonstrict hive property:
LOAD DATA INPATH'..... / del_table /'进入表main_table分区(partition_col_name)
答案 0 :(得分:0)
您是否必须在路径中使用贷款数据?
如果没有,您可以执行以下https://cwiki.apache.org/confluence/display/Hive/Tutorial#Tutorial-DynamicpartitionInsert
这会每天重新生成整个表格。
答案 1 :(得分:0)
首先尝试设置此属性:
set hive.exec.dynamic.partition.mode=nonstrict;
然后运行你的命令:
LOAD DATA INPATH '...../del_table/' into table main_table partition(partition_col_name)
有关详细信息,请参阅此链接:Partition