Я использую HIVE с двумя таблицами, похожими (более или менее):
-TABLE1 определяется как [(Переменные: строка), (Значение1: int), (Значение2: int)]
с полем «Переменные», выглядящим как «x0, x1, x2, x3, ..., xn»
-TABLE2 определяют как [(Value1Sum: int), (Value2Sum: int), (X1: строка), (X4: строка), (X17: строка)]
Я "конвертирую" table1 в table2 с помощью запроса:
INSERT OVERWRITE TABLE table2
SELECT sum(v1), sum(v2), x1, x4, x17
FROM (SELECT
Value1 as v1,
Value2 as v2,
split(Variables, ",")[1] as x1,
split(Variables, ",")[4] as x4,
split(Variables, ",")[17] as x17
FROM Table1) tmp
GROUP BY tmp.x1, tmp.x4, tmp.x17
Вызывает ли Hive 3 раза функцию разделения?
Есть ли способ сделать его более элегантным?
Есть ли способ сделать его более общим?
С наилучшими пожеланиями,
CC