Как вернуть запись совпадения на основе таблицы поиска с помощью куста

Допустим, у нас есть таблица поиска (table_A) и другая таблица (table_B) следующим образом:

введите здесь описание изображения

И мы хотим найти строку Table_B из Table_A, чтобы вернуть химический тип и сформировать Table_C следующим образом:

введите здесь описание изображения

Как мы можем реализовать это, используя запрос hive в среде Hadoop? Сложной частью является поиск нескольких ключевых слов в одной строке и создание новой строки для каждой совпавшей записи. Спасибо!


person edward chen    schedule 06.08.2017    source источник
comment
Замените изображения текстом. Отформатируйте его, выбрав его и применив ctrl+k.   -  person David דודו Markovitz    schedule 06.08.2017


Ответы (1)


Я думаю, что вы должны структурировать Table_A по-другому (или сохранить текущую структуру, но разделить запятую и использовать explode в кусте) следующим образом:

----------------------------
| Table A                  |
----------------------------
| Chemical Type  | Keyword |
----------------------------
| HF             |  100HF  |
----------------------------
| HF             |  100:HF |
----------------------------
| HCL            |  HCL200 |
----------------------------
| HCL            |  500HCL |
----------------------------
etc...

Затем кажется, что вам нужно выполнить декартово соединение продукта:

select distinct b.machine,b.string,a.chemical_type from
   Table_A as a, Table_B as b where instr(b.string,a.keyword) > 0;
person Alex Libov    schedule 07.08.2017