可以說我有下面的數據表:如何實現蜂巢更新的舊版本
Col1 Col2 Col3
Dipak More 123
Sachin Patil 123
Pradip More 999
我想在Col3
更新Dipak
與222
值,從而蜂巢不會允許您可以更新這些文件。因此,我們如何在配置單元中實現
可以說我有下面的數據表:如何實現蜂巢更新的舊版本
Col1 Col2 Col3
Dipak More 123
Sachin Patil 123
Pradip More 999
我想在Col3
更新Dipak
與222
值,從而蜂巢不會允許您可以更新這些文件。因此,我們如何在配置單元中實現
在任何情況下,你必須重建整個數據集。
我會建議使用CTAS(CREATE TABLE AS選擇)以創建表與所請求的數據,然後重命名錶。
這樣你就必須回滾如果事情出錯的能力。
create table mytable_tmp
as
select Col1
,Col2
,case when Col1 = 'Dipak' then 222 else Col3 end
from mytable
;
alter table mytable rename to mytable_bck_20170311
;
alter table mytable_tmp rename to mytable
;
您可以一次做到這一點,但請記住,如果出現問題,在你的查詢中輸入錯誤 - 你的數據不見了。
insert overwrite table mytable
select Col1
,Col2
,case when Col1 = 'Dipak' then 222 else Col3 end
from mytable
閱讀:http://stackoverflow.com/a/37744071/2700344 – leftjoin