我正在尝试对字符串值运行简单连接但没有匹配的行。但是,两个表中的所有值都相同
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 :(得分:0)
您是否尝试过标准化外壳 - 蜂巢是区分大小写的?我通常在比较字符串时使用lower()来减少套管问题。
答案 1 :(得分:0)
加入字符串不是最佳做法,但如果需要,您应该使用:
选择l2.word,d.polarity from l2 join dictionary d on(l2.word rlike d.word)
答案 2 :(得分:0)
加入字符串将起作用。请记住,字符串匹配将区分大小写。
考虑使用像UPPER或LOWER这样的功能。
例如,
select * from temp join new_temp on LOWER(temp.dept) = LOWER(new_temp.dept);
(经测试的解决方案)