hive-Fetch抓取

概念
Fetch抓取,是指hive中某些查询hql不用走mapreduce计算,此时查询速度相对较快,类似于presto等即时查询引擎。这种查询一般是相对简单的单表查询,例如select * from test_table limit 10;

Fetch抓取的模式
可以通过 set hive.fetch.task.conversion查看,有以下3种模式:

  • none:所有涉及hdfs的读取查询都走mapreduce任务;
  • mininal:在进行简单的select *,简单的过滤或涉及分区字段的过滤时走mr;
  • more:在mininal模式的基础上,增加了针对查询语句字段进行一些别名的计算操作。

以下HQL,mininal模式与more模式下都不会走mr任务:

SELECT
	sale_ord_id,
	store_id
FROM
	test_table
where 
	dt = '2021-01-01'
 limit 10;

以下HQL,mininal模式会走mr任务,more模式不会:

SELECT
	sale_ord_id,
	store_id,
	if(store_id > 20,1,0) as store_id_new
FROM
	test_table
where 
	dt = '2021-01-01'
 limit 10;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值