hive动态分区与静态分区
测试目的:
1.分区表的动态分区与静态分区
2.每层数据,数据流向,数据是否在每层都保留一份
测试结果:
1.动态分区/静态分区略
2.每层表的数据都会保留,因此在生产上odm层的数据是可以删除的(不管是内表还是外表)
数据源:
1,jack,shanghai,20190129
2,kevin,beijing,20190130
3,lucas,hangzhou,20190129
4,lily,hangzhou,20190130
1. 创建数据库
create database TestFenQu;
2. 创建源数据表(外表)
create external table TestFenQu.dept(
id int,
name string,
address string,
day string
)
row format delimited fields terminated by ',';
加载数据:
load data local inpath '/home/kong/test.dat' into table TestFenQu.dept;
3. 创建分区表1(外表)
create external table TestFenQu.dept_part(
id int,
name string,
address string
)partitioned by(day string) row format delimited fields terminated by ',';
静态分区加载数据:
//静态分区缺点:每次写入都要明确指定分区日期。
insert overwrite table TestFenQu.dept_part partition(day='20190129') select id,name,address from TestFenQu.dept where day='20190129';
//并且在查询处不能包含分区字段day,否则会报如下错误
动态分区加载数据:
// 自动识别分区,不需要明确指定
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
insert into table TestFenQu.dept_part partition(day) select id,name,address,day from TestFenQu.dept;
查询验证:
select * from TestFenQu.dept_part;
select * from TestFenQu.dept_part where day='20190129';
select * from TestFenQu.dept_part where day='20190130';
HDFS web界面验证
4. 创建分区表2(内表)
create table TestFenQu.dept_part_noExternal(
id int,
name string,
address string
)partitioned by(day string) row format delimited fields terminated by ',';
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
insert into table TestFenQu.dept_part_noExternal partition(day) select id,name,address,day from TestFenQu.dept;
查询验证:
select * from TestFenQu.dept_part_noExternal;
select * from TestFenQu.dept_part_noExternal where day='20190129';
select * from TestFenQu.dept_part_noExternal where day='20190130';
HDFS web界面验证
hive动态分区与静态分区的更多相关文章
- Hive分区(静态分区+动态分区)
Hive分区的概念与传统关系型数据库分区不同. 传统数据库的分区方式:就oracle而言,分区独立存在于段里,里面存储真实的数据,在数据进行插入的时候自动分配分区. Hive的分区方式:由于Hive实 ...
- Hive中静态分区和动态分区总结
目录 背景 第一部分 静态分区 第二部分 动态分区 第三部分 两者的比较 第四部分 动态分区使用的问题 参考文献及资料 背景 在Hive中有两种类型的分区:静态分区(Static Partitioni ...
- 什么是hive的静态分区和动态分区,它们又有什么区别呢?hive动态分区详解
面试官问我,什么是hive的静态分区和动态分区,这题我会呀. 简述 分区是hive存放数据的一种方式,将列值作为目录来存放数据,就是一个分区,可以有多列. 这样查询时使用分区列进行过滤,只需根据列值直 ...
- hive 动态分区与混合分区
hive的分区概念,相信大家都非常了解了.通过将数据放在hdfs不同的文件目录下,查表时,只扫描对应分区下的数据,避免了全表扫描. 提升了查询效率. 关于hive分区,我们还会用到多级分区.动态分区. ...
- hive SQL 静态分区和 动态分区
Hive 分区介绍: hive中简单介绍分区表(partition table),含动态分区(dynamic partition)与静态分区(static partition) hive中创建分区表没 ...
- Hive静态分区和动态分区
一.静态分区 1.创建分区表 hive (default)> create table order_mulit_partition( > order_number string, > ...
- hive中简单介绍分区表(partition table)——动态分区(dynamic partition)、静态分区(static partition)
一.基本概念 hive中分区表分为:范围分区.列表分区.hash分区.混合分区等. 分区列:分区列不是表中的一个实际的字段,而是一个或者多个伪列.翻译一下是:“在表的数据文件中实际上并不保存分区列的信 ...
- Hive的静态分区和动态分区
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl/p/6831884.html 转载请注明出处 虽然之前已经用过很多次hive的分区表,但是还是找时间快速回顾总结 ...
- Hive静态分区和动态分区,对应Mysql中的元数据信息
静态分区: 手动指定分区加载数据,就是常说的静态分区的使用.但是在日常工作中用的比较多的是动态分区. 创建: hive> create table order_mulit_partition( ...
随机推荐
- mac环境下java项目无创建文件的权限
1.问题: 先抛问题,由于刚刚换用mac环境,之前windows上开发的代码调试完毕,还未上线.之后上线部署之前,tl直连测试本地环境(mac)环境,功能无法使用,显示java.io.IOExcept ...
- C# .net Ueditor实现图片上传到阿里云OSS 对象存储
在学习的时候,项目中需要实现在Ueditor编辑器中将图片上传到云储存中,老师演示的是上传到又拍云存储,既然看了一遍,直接照搬不算本事,咱们可以依葫芦画瓢自己来动手玩玩其它的云存储服务. 现在云计算产 ...
- dijkstra算法学习笔记
dijkstra是一种单源最短路径算法,即求一个点到其他点的最短路.不能处理负边权. 最近某种广为人知的算法频繁被卡,让dijkstra逐渐成为了主流,甚至在初赛中鞭尸了SPFA(? dijkstra ...
- php 中文乱码问题
http://www.jb51.net/article/30064.htm 翻了好多帖子,发现不知道是不是自己脸黑, 文件头这边加上header("Content-Type: text/ht ...
- [小米OJ] 2. 找出单独出现的数字
解法一: map 1.45 ms #include <algorithm> #include <bitset> #include <cmath> #include ...
- org.mybatis.spring.MyBatisSystemException异常及处理
org.mybatis.spring.MyBatisSystemException异常处理 测试场景 在测试springboot中使用MyBatis/通用Mapper的自定义方法时出现此异常. 异常如 ...
- java并发笔记之synchronized 偏向锁 轻量级锁 重量级锁证明
警告⚠️:本文耗时很长,先做好心理准备 本篇将从hotspot源码(64 bits)入手,通过分析java对象头引申出锁的状态:本文采用大量实例及分析,请耐心看完,谢谢 先来看一下hotspot的 ...
- 【iOS】edgesForExtendedLayout
在 iOS 7.0 中,苹果引入了一个新的属性,叫做 edgesForExtendedLayou,它的默认值为 UIRectEdgeAll. 当你的容器是 navigationController 时 ...
- Something wrong with EnCase v8 index search results
My friend told me that she installed EnCase v8.05 on her workstation which OS version is Win 10. She ...
- [Chat]实战:仿网易云课堂微信小程序开发核心技术剖析和经验分享
本Chat以一个我参与开发并已上线运营近2年——类似网易云课堂的微信小程序项目,来进行微信小程序高级开发的学习. 本场Chat围绕项目开发核心技术分析,帮助你快速掌握在线视频.音频类小程序开发所需要的 ...