2014-12-03 4 views
0

Возможно ли генерировать неупорядоченные пары в Hive (аналогично функции Pig Unordered Pairs?) Существует ли эта функция в любом месте?Функция улавливания неупорядоченных пар

В идеале я хотел бы быть в состоянии пройти в таблице, такие как:

select * from mytable 

array_1 
["A","B","C"] 

и получить назад

select unorderedPairs(array_1) from mytable 


["A",B"] 
["B","C"] 
["C","A"] 

ответ

0

Там нет встроенной функции. В Hive это будет называться функцией генерирования пользовательских таблиц. Вот встроенный UDTF-х:

  • рядный (array) Взрывается массив структур в таблицу. (As of Hive 0.10.) Array Type
  • explode (array a) Для каждого элемента в a генерируется строка, содержащая этот элемент. tuple
  • json_tuple (jsonStr, k1, k2, ...) Принимает набор имен (ключей) и строку JSON и возвращает кортеж значений. Это более эффективная версия get_json_object UDF, потому что она может получить несколько ключей только с одним вызовом. tuple
  • parse_url_tuple (url, p1, p2, ...) Это похоже на parse_url() UDF, но может извлекать сразу несколько частей из URL-адреса. Допустимые названия деталей: HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE, USERINFO, QUERY :. N строк
  • posexplode (ARRAY) Ведет себя подобно взрыву для массивов, но включает положение элементов в исходном массиве, возвращая кортеж (pos, value). (По состоянию на Hive 0.13.0.)

  • stack (INT n, v_1, v_2, ..., v_k) Разбивает v_1, ..., v_k на n строк. Каждая строка будет иметь k/n столбцов. n должно быть постоянным.

Смежные вопросы