hive 学习笔记5

hive 学习笔记5

ID:47670931

大小:70.50 KB

页数:3页

时间:2020-01-27

hive 学习笔记5_第1页
hive 学习笔记5_第2页
hive 学习笔记5_第3页
资源描述:

《hive 学习笔记5》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、•如果join中多个表的joinkey是同一个,则join会被转化为单个map/reduce任务LEFT,RIGHT和FULLOUTER•例子•SELECTa.val,b.valFROMaLEFTOUTERJOINbON(a.key=b.key) •如果你想限制join的输出,应该在WHERE子句中写过滤条件——或是在join子句中写••容易混淆的问题是表分区的情况• SELECTc.val,d.valFROMcLEFTOUTERJOINdON(c.key=d.key)  WHEREa.ds='2010-07-07'ANDb.ds='2010-

2、07-07‘•如果d表中找不到对应c表的记录,d表的所有列都会列出NULL,包括ds列。也就是说,join会过滤d表中不能找到匹配c表joinkey的所有记录。这样的话,LEFTOUTER就使得查询结果与WHERE子句无关•解决办法•SELECTc.val,d.valFROMcLEFTOUTERJOINd  ON(c.key=d.keyANDd.ds='2009-07-07'ANDc.ds='2009-07-07')LEFTSEMIJOIN•LEFTSEMIJOIN的限制是,JOIN子句中右边的表只能在ON子句中设置过滤条件,在WHERE子句、

3、SELECT子句或其他地方过滤都不行••SELECTa.key,a.value  FROMa  WHEREa.keyin   (SELECTb.key    FROMB);      可以被重写为:     SELECTa.key,a.val   FROMaLEFTSEMIJOINbon(a.key=b.key)UNIONALL•用来合并多个select的查询结果,需要保证select中字段须一致•select_statementUNIONALLselect_statementUNIONALLselect_statement...第四部分:从S

4、QL到HiveQL应该转变的几个习惯Hive不支持等值连接•SQL中对两表内联可以写成:•select*fromduala,dualbwherea.key=b.key;•Hive中应为•select*fromdualajoindualbona.key=b.key;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。