Я запускаю действие улья в oozie, где скрипт hive.sql имеет нижеупомянутый запрос улья.
Повестка дня:
Цель - вставить результатэтот запрос в hive интегрированную таблицу hbase, где основной целью является получение последней метки времени через столбец транзакции.
Однако, когда я выполняю тот же запрос с помощью действия куста в OOZIE, он завершается с
сообщение об ошибке:
org.apache.hadoop.hive.ql.parse.SemanticException: Строка 0: -1 Несоответствие типа аргумента 'строки': 1-йожидается, что аргумент EQUAL относится к примитивному типу, но список найден
Похоже, переменная, определенная в UDF, здесь не ожидается, однако ожидается примитивный тип.
Когда я запускаю этот запрос вручную в оболочке куста, он отлично работает.
insert overwrite table hive_lookup_hbase
Select lookup.card_id, lookup.UCL, lookup.postcode, lookup.transaction_dt,lookup.score
from
(
SELECT ct.card_id, row_number() over ( partition by ct.card_id order by ct.transaction_dt desc ) rows,
ct.postcode , ct.member_id, ct.transaction_dt, ms.score, c_u_look.UCL
FROM hive_cardtrans_hbase ct
join cid_ucl_lookup c_u_look
join member_score ms on c_u_look.card_id=ct.card_id and ms.member_id=ct.member_id
)lookup
where rows=1;
Поскольку он работает с оболочкой улья, необходимо знать, какие изменения я могу внести, чтобы он работал с oozie.