1
我有2個表更新不同的值每排蜂巢
table1的
key comment
1 null
2 null
3 null
1 null
1 null
2 null
表2
key type
1 1
2 2
3 3
我需要
table1的
key comment
1 1
2 2
3 3
1 1
1 1
2 2
我試過了。
UPDATE table1 hist
SET comment = (
Select type
from table2 mta
WHERE hist.key = mta.key
);
沒有工作。子查詢似乎不受支持。剩下的唯一的事情就是做一個左連接,但我很好奇,如果沒有它可能。
這些是創建語句。 SHOW CREATE TABLE
CREATE TABLE `db.evkuz`(
`subs_key` string,
`mtr_comments` string)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
CREATE VIEW `db.RCR` AS
Select `a`.`line`[64] as `SUBS_KEY`
, `a`.`line`[63] as `TYPE`
from(
Select split(`rcr`.`line`, '\\|') as `LINE`
from `db`.`MAK_RCR`
) `a`
這些describe table
evkuz
subs_key string
mtr_comments string
RCR的結果
subs_key string
type string
這是更新語句
UPDATE t1
SET t1.MTR_COMMENTS = t2.TYPE
FROM db.evkuz t1
inner join db.RCR t2
on t1.SUBS_KEY = substr(t2.SUBS_KEY, 2);
我得到'失敗:ParseException的行2: '' 6輸入不匹配在更新語句中期待=接近't1' –
@Eugene Cuz檢查兩列的數據類型 – mangesh
@Eugene Cuz發送你的兩個表腳本 – mangesh