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

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

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

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

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

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

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;
Другие вопросы по тегам