查询windows系统激活信息
2012-07-09 16:54
211 查看
1. 内连接:inner join
--join优化:在进行join的时候,大表放在最后面
--但是使用 /*+streamtable(大表名称)*/ 来标记大表,那么大表放在什么位置都行了
select /*+streamtable(s)*/ s.ymd,d.dividend
from stocks s inner join dividends d on s.ymd=d.ymd and s.symbol=d.symbol
where s.symbol=’aapl’
2. 外连接:left outer join,right outer join,full outer join
把外连接(outer join)中where语句中的过滤条件,放在on语句是无效的。不过对于内连接有效。
3. 笛卡尔积:join
join的时候不使用on,而使用where的。
--笛卡尔积join很缓慢,可以设置hive.mapred.mode=strict来阻止执行
hive.mapred.mode=strict
4. 左半开连接:left semi-join(hive不支持右半开连接)
左半开连接(left semi-join)会返回左边表的记录,前提是其记录对于右边表满足on语句中的判定条件。
select和where语句中都不能引用右边表的字段。
适用场景:
因为hive不支持in...exists结构,所以要使用左半开连接代替.
注意点:
semi-join比inner join更高效
hive不支持右半开连接.
5. map端join:map-side join
map-side join:hive可以在map端执行连接过程(对于在join时有一个是小表的情况)
使用map-side join,需要配置下:
(1)hive0.7版本之前,需要加/*+ mapjoin(表名) */
select /*+ mapjoin(d) */ s.ymd,d.dividend from stocks s join dividends d
on s.ymd=d.ymd and s.symbol=d.symbol
where s.symbol=’AAPL
(2)hive0.7版本开始,设置hive.auto.convert.join=true
hive.auto.convert.join=true
hive.mapjoin.smalltable.filsize=25000000 --使用这个优化的小表的大小(单位:字节)--注意:右外连接和全外连接不支持这个优化
备注:
(1). hive的join语句,只支持等值连接。
(2). 注:pig提供的交叉生成功能支持“非等值连接”.
(3). hive目前不支持在join 的on子句中使用or。
--join优化:在进行join的时候,大表放在最后面
--但是使用 /*+streamtable(大表名称)*/ 来标记大表,那么大表放在什么位置都行了
select /*+streamtable(s)*/ s.ymd,d.dividend
from stocks s inner join dividends d on s.ymd=d.ymd and s.symbol=d.symbol
where s.symbol=’aapl’
2. 外连接:left outer join,right outer join,full outer join
把外连接(outer join)中where语句中的过滤条件,放在on语句是无效的。不过对于内连接有效。
3. 笛卡尔积:join
join的时候不使用on,而使用where的。
--笛卡尔积join很缓慢,可以设置hive.mapred.mode=strict来阻止执行
hive.mapred.mode=strict
4. 左半开连接:left semi-join(hive不支持右半开连接)
左半开连接(left semi-join)会返回左边表的记录,前提是其记录对于右边表满足on语句中的判定条件。
select和where语句中都不能引用右边表的字段。
适用场景:
因为hive不支持in...exists结构,所以要使用左半开连接代替.
注意点:
semi-join比inner join更高效
hive不支持右半开连接.
5. map端join:map-side join
map-side join:hive可以在map端执行连接过程(对于在join时有一个是小表的情况)
使用map-side join,需要配置下:
(1)hive0.7版本之前,需要加/*+ mapjoin(表名) */
select /*+ mapjoin(d) */ s.ymd,d.dividend from stocks s join dividends d
on s.ymd=d.ymd and s.symbol=d.symbol
where s.symbol=’AAPL
(2)hive0.7版本开始,设置hive.auto.convert.join=true
hive.auto.convert.join=true
hive.mapjoin.smalltable.filsize=25000000 --使用这个优化的小表的大小(单位:字节)--注意:右外连接和全外连接不支持这个优化
备注:
(1). hive的join语句,只支持等值连接。
(2). 注:pig提供的交叉生成功能支持“非等值连接”.
(3). hive目前不支持在join 的on子句中使用or。
相关文章推荐
- Windows系统的电脑网卡,生产日期等信息查询
- windows系统信息,内存状态,区域信息的查询
- Windows系统的电脑网卡,生产日期等信息查询
- 产品防伪码查询系统_学历学籍查询系统_证书查询系统_录取成绩查询系统_工资查询系统_信息查询系统
- 代理模式(二):代理模式应用实例(收费商务信息查询系统)
- 关于CRM系统中员工,招商经理,招商专员等和代理商对于进销存系统信息查询的限制设计
- 学生信息管理系统之查询数据信息
- 查看windows系统进程详细信息
- 湘潭大学-基于Dragonboard 410c教室资源管理与信息查询系统(二)
- 总结:linux查询系统内各应用的版本信息命令
- 关于如何查询本机详细的系统信息
- linux系统信息查询
- Windows和Linux系统的Debug调试信息输出方法
- 身份证信息查询系统
- 【我的Android进阶之旅】解决 Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容。请查看计算机的系统信息,了解是否需要 x86
- windows平台下 c++获取 系统版本 网卡 内存 CPU 硬盘 显卡信息<转>
- windows linux—unix 跨平台通信集成控制系统----系统硬件信息获取
- 使用WIN系统自带wmi测试工具查询杀毒软件信息
- 查询系统负载信息 Linux 命令详解
- Extjs的Desktop弹出信息提示窗口的代码,在Windows系统桌面右下角弹出友情提示