我正在制作 2 張這樣的黑斑羚桌子。
表格1:
| full_alert |
|---|
| xyz_visitArizona_xyz |
| klmthak_visitLondon |
| 訪問_伊斯坦布爾 |
| tzylpa_visit_Paris |
表2:
| only_name | 部分 |
|---|---|
| 亞利桑那 | 1 |
| 倫敦 | 2 |
| 伊斯坦布爾 | 2 |
| 巴黎 | 2 |
我要做的是檢查table2 中的only_name列,如果名稱出現在 table1 的full_alert列上,則創建新列作為destination。Table1 包含full_alert的不同結構,這就是我不能使用 SUBSTR() 的原因(我嘗試過并看到了很多例外)
是否可以在 Hive 或 Impala 中執行此操作?
我嘗試在 Jupyter 筆記本中進行此決議,但資料太大,每當我嘗試運行查詢時都會出現空表或系統錯誤。
期望表:
| full_alert | 目的地 |
|---|---|
| xyz_visitArizona_xyz | 亞利桑那 |
| klmthak_visitLondon | 倫敦 |
| 訪問_伊斯坦布爾 | 伊斯坦布爾 |
| tzylpa_visit_Paris | 巴黎 |
非常感謝您的支持。
uj5u.com熱心網友回復:
SELECT table1.full_alert, table2.only_name destination
FROM table1
JOIN table2 ON LOCATE(table2.only_name, table1.full_alert)
https://dbfiddle.uk/LqXXYYKI
我嘗試了這兩個查詢,但出現語法錯誤。– 梅爾維
Apache Impala 實作LOCATE() 函式。
它可能根本不接受數字輸出作為邏輯值。嘗試這個:
SELECT table1.full_alert, table2.only_name destination
FROM table1
JOIN table2 ON LOCATE(table2.only_name, table1.full_alert) > 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/521038.html
