INSERT OVERWRITE TABLE table_name [PARTITION(key=value)]
SELECT --update columns using CASE
case when col=some_value then some_other_value end as col,
...
case when coln=some_value then some_other_value end as coln,
col_x --not updated column
FROM table_name [WHERE partition_key=value]
JOIN...
d:这是使用select from this with filter重写整个表或分区。可以与更新结合使用。
INSERT OVERWRITE TABLE table_name [PARTITION(key=value)]
SELECT *
FROM table_name [WHERE partition_key=value]
WHERE --Filter out records you want to delete
1条答案
按热度按时间slwdgvem1#
非酸模式下积垢操作的典型模板:
c:插入相同(可以从select中选择)
r:这很简单
u:owerwrite使用select-from-itself(使用连接使用其他表中的值进行更新)来编写整个表或分区。使用case语句更新列。
d:这是使用select from this with filter重写整个表或分区。可以与更新结合使用。
也请阅读这个关于合并的答案。
请参阅hive dml手册。