1
У меня 2 таблицыОбновление каждой строки с различными значениями в улье
таблица1
key comment
1 null
2 null
3 null
1 null
1 null
2 null
таблица2
key type
1 1
2 2
3 3
мне нужно
таблица1
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);
Я получаю 'FAILED: ParseException строка 2: '' 6 несовпадающего входа Ожидание = около 't1' в заявлении об обновлении' –
@Eugene Cuz Проверить тип данных обоих столбцов – mangesh
@Eugene Cuz Пришлите мне ваши обе скрипты таблицы – mangesh