我正在尝试对大量数据运行配置单元查询。geocode查找表有一个ip-from和ip-to范围,我必须与之进行比较,一个包含180万行的表。
配置单元脚本:
select *
from ip_address a, ip_lookup b
where a.AddressInt >= b.ip_from and a.AddressInt <= b.ip_to;
在aws emr上,我正在运行一个c3.xlarge集群,在运行期间,它会停留在67%的水平超过1天,但以下是阶段1的hadoop作业信息:
Warning: Shuffle Join JOIN[4][tables = [a, b]] in Stage 'Stage-1:MAPRED' is a cross product
Stage-1: number of mappers: 6; number of reducers: 1
我应该做些什么来提高此配置单元脚本的性能?
1条答案
按热度按时间lx0bsm1f1#
为了提高性能,请基于连接字段(在您的示例中是ip地址)为较大的表实现bucketing。有关更多信息,请访问此页
您还可以实现smb连接,这是由facebook实现的。