簡體   English   中英

如何在impala 中轉換此查詢?

[英]How transform this query in impala?

這是 SQL 中的一個示例,但我需要在 Cloudera Imapala 中轉換此過程

UPDATE e_solutions_owner.nueva_tabla
    SET de_canal_venta_distr = 'CAV ENDESA X'
    where de_canal_venta_distr = 'CAT VENTAS SII';

我怎么能創造它?

謝謝

你沒有提到你有 Kudu 與否。 所以我假設你沒有支持 UPDATE 的 Kudu。 您可以分三步完成。 我創建了一個臨時表並替換了最終表。 步驟 1 - 將“更新后的”數據加載到 tmp 表中

create table if not exists e_solutions_owner.tmp_nueva_tabla as
select 
col1,col2...
de_canal_venta_distr
from e_solutions_owner.nueva_tabla
where ifnull(de_canal_venta_distr,'x') <> 'CAT VENTAS SII'
union 
select 
col1,col2...
'CAV ENDESA X' de_canal_venta_distr
from e_solutions_owner.nueva_tabla
where de_canal_venta_distr = 'CAT VENTAS SII'

Step2 - 將覆蓋數據插入主表。
insert overwrite e_solutions_owner.nueva_tabla select * from e_solutions_owner.tmp_nueva_tabla

步驟 3 - 刪除臨時表。
drop table e_solutions_owner.tmp_nueva_tabla

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM