美文网首页
Hive分区参考

Hive分区参考

作者: liuzx32 | 来源:发表于2019-03-26 20:18 被阅读0次

一、为啥分区

hive 为了避免全表查询,从而引进分区,将数据按目录进行划分,减少不必要的查询,从而提高效率

二、hive的分区和mysql分区的区别

mysql的分区字段用的是表内字段,hive的分区字段采用表外字段,也就是使用伪字段,分区字段在创建表的时候指定

分区的关键字:partitioned by(字段)

三、Hive中的动态分区

hive.exec.dynamic.partition=true; 是否允许动态分区
hive.exec.dynamic.partition.mode=strict/nostrict; 动态区模式为严格模式
hive.exec.max.dynamic.partitions=1000; 允许最大的动态分区
hive.exec.max.dynamic.partitions.pernode=100; 单个节点允许最大分区

strict:严格模式,最少需要一个静态分区列(指定固定值)
nostrict:费严格模式,允许所有的分区字段都为动态。

hive的静态分区:分区数据已知
hive的动态分区:分区数据未知(不知道有多少个分区)
hive的混合分区:有动态有静态

四、hive的分桶

  1. 为什么分桶
    提高数据的细粒度,将之前的单个文件变成多个文件
    作用:
    1、对数据进行抽样查询,较为高效。
    2、可以使查询效率提高

  2. 分桶技术
    分桶字段是表内字段,默认是对分桶的字段进行hash值,然后模总的桶数,得到的值则是分区桶数

  3. hive分桶的关键字
    bucket
    clustered by(id) into 4 buckets

注意:

分区使用表外的字段,分桶使用表内字段
分区可以使用load加载数据,而分桶就必须要使用insert into方式加载数据
分区常用;分桶少用。

相关文章

  • Hive分区参考

    一、为啥分区 hive 为了避免全表查询,从而引进分区,将数据按目录进行划分,减少不必要的查询,从而提高效率 二、...

  • 动态分区说明

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

  • Hive 分区/分桶

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

  • Hive系列之分区表和桶

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

  • Hive01

    Hive 启动 Hive 启动方式 建表语法【单分区】示例: 加载【单分区】数据示例: 【多分区】示例: 加载【多...

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

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

  • Hive 1.2.1 分区和分捅

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

  • Hive表

    Hive分区 描述: Hive分区根据某字段的值分区1.可以多维度分区2.分区不会影响大范围查询的执行效率3.每个...

  • 大数据开发之Hive篇19-Hive分区表详解

    备注:Hive 版本 2.1.1 一.Hive分区表概述 数据分区的概念以及存在很久了,通常使用分区来水平分散压力...

  • Hive优化

    hive.optimize.cp=true:列裁剪 hive.optimize.prunner:分区裁剪 hive...

网友评论

      本文标题:Hive分区参考

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