2017-08-06 144 views
1

返回基於查找表的匹配記錄比方說,我們有一個查找表(表-A)和另一個表(表-B)如下:如何使用蜂巢

enter image description here

我們要搜索從表-A表-B的字符串返回化學類型和形成Table_C,具體如下:

enter image description here

我們如何能夠通過Hadoop的環境下使用蜂巢查詢實現這個? 具有挑戰性的部分是在同一個字符串內搜索多個關鍵字,併爲每個匹配記錄創建新行。 謝謝!

+0

用文字替換圖像。通過選擇它並應用ctrl + k進行格式化。 –

回答

0

我想你應該構建表-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;