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
我尝试设置sethive.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中进行比较。这至少会告诉你是否有额外的空间或案例问题