在Hive SQL中匹配子字符串上的两个大表的有效方法

时间:2017-08-02 14:53:14

标签: sql hiveql cross-join

我有两张非常大的桌子,mydata和mytypelist。在两个表中我都有一个NAME列,我想加入它们。说起来容易做起来难,因为这些桌子是由两个不同的人制作的,而且这些名字的差异足以引起麻烦(例如" John Doe"和#34; John Doe")。

我目前正处于这一点:

select mydata.*, mytypelist.*
from mydata
cross join mytypelist
where instr(  upper( mydata.name ), upper( mytypelist.name) ) > 0

由于我的表(10 ^ 6行)的大小,这需要很长时间并且有可能消耗所有可用的CPU。

是否有更有效的方法来匹配两个这样的大表?该方法适用于较小的表。

0 个答案:

没有答案