Hive 字符串上的配置单元联接未返回匹配项

Hive 字符串上的配置单元联接未返回匹配项,hive,hiveql,Hive,Hiveql,我试图对字符串值运行一个简单的连接,但没有得到匹配的行。但是,两个表中的所有值都相同 select l2.word,d.polarity from l2 join dictionary d on (l2.word=d.word); L2 table : realtimesession_id bigint None word string None

我试图对字符串值运行一个简单的连接,但没有得到匹配的行。但是,两个表中的所有值都相同

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   
我尝试设置set
hive.auto.convert.join=true

但仍然没有匹配的记录。请找人帮忙。

您是否尝试过标准化外壳-蜂箱区分大小写?在比较管柱时,我通常使用lower()来减少套管问题。

连接管柱不是最佳做法,但如果需要,您应该使用:


从l2连接字典d中选择l2.word,d.polarity(l2.word rlike d.word)

连接字符串将起作用。请记住,字符串匹配将区分大小写

考虑使用诸如UPPER或LOWER之类的函数

比如说,

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

(测试解决方案)

您如何定义结构可能是case的一个问题。您可以从两个表中选择“word”的值,并使用CASE语句在select中进行比较。这至少会告诉你是否有额外的空间或案例问题