美文网首页
hive的严格模式和分区

hive的严格模式和分区

作者: echolvan | 来源:发表于2020-01-09 15:05 被阅读0次

相比mysql,hive有严格模式存在,为了不错误扫描整个数据,hive的分区表会将数据分成几个分区。
查询分区表中的数据时,除非where语句中包含分区字段过滤条件来显示数据范围,否则不允许执行。也就是说用户不允许扫描所有的分区。进行这个限制的原因是,通常分区表都拥有非常大的数据集,而且数据增加迅速,如果没有进行分区限制的查询会消耗很大的资源来处理这个表

动态分区和静态分区的区别

静态分区

  • 静态分区是在编译期间指定的指定分区名
  • 支持load和insert两种插入方式
    • load方式
         1. 会将分区字段的值全部修改为指定的内容
         2. 一般是确定该分区内容是一致的时候才会使用
    • insert方式
         1. 必须先将数据放在一个没有设置分区的普通表中
         2. 该方式可以在一个分区内存储一个范围的内容
         3. 从普通表中选出的字段不能包含分区字段
  • 适用于分区数少,分区名可以明确的数据

动态分区

  • 根据分区字段的实际值,动态进行分
  • 是在sql执行的时候进行分
  • 需要先将动态分区设置打开(set hive.exec.dynamic.partition.mode=nonstrict )
  • 只能用insert
  • 通过普通表选出的字段包含分区字段,分区字段放置在最后,多个分区字段按照分区顺序放置

非严格模式

在查询数据时无需加where条件指定分区。默认情况下hive就是非严格模式。

严格模式

可以防止在查询数据时因为误操作扫描整个数据。(你知道的,当数据很大时,扫描所有数据会非常耗时间)

设置严格模式

我们在没设置初始化文件.hiverc的时候,在hive命令行中输入

set hive.mapred.mode=strict;

但是这种方法不是很可靠,因为他只存在在这一次hive中,当你关闭hive后再打开,他就会恢复成默认。那么我们需要修改hive启动的初始化文件.hiverc
这个文件在: hive的安装文件夹中/bin
写入

# 在命令行中显示当前数据库名
set hive.cli.print.current.db=true; 
 # 查询出来的结果显示列的名称
set hive.cli.print.header=true;
# 设置hive执行的严格模式
set hive.mapred.mode=strict;

相关文章

  • PySpark写数到 Hive 动态分区

    首先,写入动态分区表,要设置一些严格模式的参数,将其设置为非严格模式 插入非分区 Hive 表 对于插入 Hive...

  • hive的严格模式和分区

    相比mysql,hive有严格模式存在,为了不错误扫描整个数据,hive的分区表会将数据分成几个分区。查询分区表中...

  • Hive系列之分区表和桶

    为提升hive数据的查询和写入性能, hive提供了分区表机制。hive每个表格可以指定多个分区key, 这些分区...

  • Hive 1.2.1 分区和分捅

    1. 借鉴 Hive学习笔记——Hive中的分桶Hive分区和分桶(0925)HIVE表索引,分区和分桶的区别 2...

  • Hive严格模式

    定义:防止用户执行那些可能产生意想不到的不好的效果的查询。即某些查询在严格模式下无法执行。 通过设置hive.ma...

  • 动态分区说明

    Hive分区 Hive的动态分区 概述 hive中支持两种类型的分区: 静态分区SP(static partiti...

  • Hive 分区/分桶

    分区/桶 Hive 分区 Hive的分区方式:由于Hive实际上是数据文件在HDFS存在的目录区分分区字段是虚拟列...

  • 大数据之Hive03-分区partition详解(静态分区,动态

    一、前言 Hive分区是为了方便数据管理Hive的分区方式:由于Hive实际是存储在HDFS上的抽象,Hive的一...

  • hive基础语法

    目录 Hive安装和启动 Hive表操作-分区表 Hive表操作-复杂类型操作 Hive 查询语句 Zepplin...

  • Spark SQL写入Hive,同分区overwrite,不同分

    摘要:Spark SQL,Hive 新建hive表 新建hive表,定义好字段类型和分区字段 Spark SQL调...

网友评论

      本文标题:hive的严格模式和分区

      本文链接:https://www.haomeiwen.com/subject/geryactx.html