2014-09-23 66 views
1

我想在字符串值上運行一個簡單的連接,但沒有獲得匹配的行。然而,所有的值相同的兩個Hive加入字符串返回沒有匹配

select l2.word,d.polarity from l2 join dictionary d on (l2.word=d.word); 

L2 table : 
realtimesession_id  bigint     None     
word     string     None 

Dictionary table : 
realtimesession_id  bigint     None     
word     string     None 

我試着設置設置hive.auto.convert.join=true; 表,但仍沒有記錄匹配。請有人幫忙。

+0

你怎麼有定義結構 – anish 2014-10-22 19:29:53

+0

可能與案件的問題。您可以從兩個表中選擇「單詞」的值,並使用CASE語句在SELECT中進行比較。這至少會告訴你是否有額外的空間或案例問題 – Ramesh 2017-11-15 15:45:37

回答

0

您是否嘗試過標準化外殼 - 配置單元區分大小寫?在比較字符串以減少套管問題時,我通常使用lower()。

0

入世對字符串是不是最好的做法,但如果需要的話,你應該使用:

選擇l2.word,從L2 d.polarity上(l2.word RLIKE d.word)

0
加入字典d

加入字符串將工作。請記住,字符串匹配將是區分大小寫

考慮使用像UPPER或LOWER這樣的函數。

例如,

select * from temp join new_temp on LOWER(temp.dept) = LOWER(new_temp.dept); 

(測試溶液)

相關問題