HiveSQL 分区表

news/2024/11/8 17:36:58/

文章目录

    • 1. 分区表概念
    • 2. 分区表语法
    • 3. 分区表加载数据
      • 3.1 静态分区
      • 3.2 多重分区
      • 3.3 动态分区
      • 3.4 注意事项

1. 分区表概念

当Hive表对应的数据量大、文件个数多时,为了避免查询时全表扫描数据,Hive支持根据指定的字段对表进行分区,分区的字段可以是日期、地域、种类等具有标识意义的字段。(因为HDFS是分布式文件存储系统,我们所看见的“表”的数据,很有可能来自好几个文件,这几个文件可能就是按照某个维度分好类的,只是我们在“表”中看见的是全部数据)

2. 分区表语法

分区字段不能是表中已经存在的字段,因为分区字段最终也会以虚 拟字段的形式显示在表结构上。

	create table table_name(column1 data_type,column2 data_type,···
)partitioned by(partition1 data_type,partition2 data_type,...);

3. 分区表加载数据

3.1 静态分区

用户在加载数据时手动指定,分区表实际上在底层管理数据方式发生了改变。每一个分区字段值作为文件夹名,该文件夹里面存放文件。

	load data [local] inpath 'filepath'into table tablename partition(分区字段='fenquzhi'...);
  • 分区的概念提供了一种将Hive表数据分离为多个文件/目录的方法。
  • 不同分区对应着不同的文件夹,同一分区的数据存储在同一个文件夹下。
  • 查询过滤的时候只需要根据分区值找到对应的文件夹,扫描文件夹下本分区的文件即可。
  • 这种指定分区查询的方式叫做分区裁剪。

3.2 多重分区

Hive支持多个分区字段partitioned by (partition1 data_type,partition2 data_type,...),多重分区下,分区之间是一种递进关系,可以理解为在前一个分区的基础上继续分区。从HDFS的角度来看,就是文件夹下继续划分子文件夹。

3.3 动态分区

动态分区指的是分区的字段值是基于查询结果(参数位置)自动推断出来的,核心语法就是inssert+select,启用Hive动态分区,需要在Hive会话中设置两个参数:

# 是否开启动态分区功能
set hive.exec.dynamice.partition=true;
# 指定动态分区模式,分为nonstick非严格模式和strict严格模式
# strict严格模式要求至少有一个分区为非静态分区
set hive.exec.dynamice.partition.mode=nonstrict;

3.4 注意事项

  1. 分区表不是建表必要语法规则,是一种优化手段表,可选。
  2. 分区字段不能是表中已有字段,不能重复。
  3. 分区字段是虚拟字段,其数据并不存储在底层文件中。
  4. 分区字段值的确定来自于用户手动指定(静态分区)或者根据查询结果位置自动推断(动态分区)。
  5. Hive支持多重分区,也就是说在分区的基础上继续分区,划分更加细的粒度。

http://www.ppmy.cn/news/833903.html

相关文章

torch.argmax()函数【求最大值的索引,并让指定维度消失】

torch.argmax(input, dimNone, keepdimFalse) argmax函数:返回指定维度最大值的索引,dim指定某一维度,那么这一维度就会消失,返回的所有维度会少这个dim指定的维度,根据这个返回的维度,确定对哪个维度采取a…

MySQL修改表的主键字段

ALTER TABLE sleep_device_day_temp DROP PRIMARY KEY ,ADD PRIMARY KEY ( id,id2,id3 );

SQLserver如何设置主键和外键?

例如:有两个表DLB(登录表)和XSB(学生表) 要求:把XSB的XH列设置为主键,DLB的XH列设置为外键。 操作:界面式:选中其中一个表,右键设计,选中XH&…

优思学院|六西格玛全面入门指南

I. 引言 六西格玛的定义 六西格玛(Six Sigma)是一种基于数据、以客户为导向、不断改进的方法论,用于提高组织中过程和产品的质量。六西格玛旨在消除缺陷,减少过程中的变异性,从而提高客户体验,并增加组织…

百度Apollo的智驾「变数」

2022年10月27日,百度旗下汽车品牌—集度“月探索越值得探索”新车发布会上,首款汽车机器人ROBO-01探月限定版正式发布,定价39.98万元。 按照计划,集度将搭载点到点领航辅助 PPA(Point to Point Autopilot)…

msvcp71.dll丢失怎样修复,msvcp71.dll丢失的三个解决方法

在运行游戏,软件程序的时候,电脑提示msvcp71.dll丢失怎样修复?下面小编就开始介绍msvcp71.dll在电脑系统中的的目录,作用,以及丢失后三个解决方法。 目录 msvcp71.dll通常位于系统目录里: msvcp71.dll丢失…

神经网络中,前向传播、反向传播、梯度下降和参数更新是怎么完成的

神经网络中,前向传播、反向传播、梯度下降和参数更新是怎么完成的 在神经网络的训练过程中,前向传播、反向传播、梯度下降和参数更新是按照以下顺序完成的: 前向传播(Forward Propagation): 在前向传播阶段…

windows内核格式化字符串

格式化输出表 符号说明类型%c, %lANSI字符char%C, %w宽字符wchar_t%d, %i十进制有符号整数int%D十进制_int64_int64%L十六进制的LARGE_INTEGERLARGE_INTEGER%s, %lNULL终止的ANSI字符串char*%S, %wNULL终止的宽字符串wchar_t*%ZANSI_STRING字符串STRING*%wZUNICODE_STRING字符…