当前位置:   article > 正文

hive-Fetch抓取_fetch 抓取 hive

fetch 抓取 hive

概念
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;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

以下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;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/148485
推荐阅读
相关标签
  

闽ICP备14008679号