048 hive运行的相关配置

本文介绍了Hive中执行SQL的几种方式,包括配置键值、minimal和more模式下的fetch操作;阐述了INPUT__FILE__NAME、BLOCK__OFFSET__INSIDE__FILE及ROW__OFFSET__INSIDE__BLOCK三个虚拟列的作用;并详细解释了Hive严格模式的规则,如分区表查询必须包含分区过滤条件、使用orderby时必须配合limit等。

一:执行SQL的方式

1.配置的键值

  

 

2.minimal下运行fetch

  

 

3.设定hive.fetch.task.conversion=more

  

 

4.在more下运行fetch

  

 

 二:虚拟列

  一共三个虚拟咧

    INPUT__FILE__NAME:数据的来源

    BLOCK__OFFSET__INSIDE__FILE:记录在块中的偏移量

    ROW__OFFSET__INSIDE__BLOCK:行的偏移量

  

 

三:严格模式

1.概述

  对分区表进行查询,在where子句中没有加分区过滤的话,将禁止提交任务,默认hive.mapred.mode=nonstrict。

  注意:

    对分区表进行查询,在where子句中没有加分区过滤的话,将禁止提交任务

    对于order by 语句,必须使用limit语句

    限制笛卡尔积的查询

 

2.分区表的检测

  通过对比,严格模式下需要分区字段的查询条件限制。

  

 

3.order by的检测

  通过对比,严格模式下的order by 需要limit。

  

 

 

 

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值