hive不支持非等值join 错误:select from a inner join b on a.id<>b.id 替代方法:select from a inner join b on a.id=b.id and a.id is null;
hive不支持非join连接 错误:select from dual a,dual b where a.key = b.key; 正确:select from dual a join dual b on a.key = b.key;
hive不支持or 错误:select from a inner join b on a.id=b.id or a.name=b.name 替代方法:select from a inner join b on a.id=b.id union all select * from a inner join b on a.name=b.name
sortby、orderby、distributeby order by会引发全局排序;会导致所有的数据集中在一台reducer节点上,然后进行排序,这样很可能会超过单个节点的磁盘和内存存储能力导致任务失败。 distribute by + sort by就是该替代方案,被distribute by设定的字段为KEY,数据会被HASH分发到不同的reducer机器上,然后sort by会对同一个reducer机器上的每组数据进行局部排序。