首页 技术 正文
技术 2022年11月19日
0 收藏 863 点赞 2,548 浏览 1968 个字

一、静态分区
1、创建分区表

 hive (default)> create table order_mulit_partition(               > order_number string,               > event_time string               > )               > PARTITIONED BY(event_month string, step string)               > row format delimited fields terminated by '\t';

2、加载数据到分区表

 load data local inpath ');

order_created.txt内容如下

  order_number           event_time   -- ::   -- ::   -- ::   -- ::   -- ::

3、这种手动指定分区加载数据,就是常说的静态分区的使用。但是在日常工作中用的比较多的是动态分区。

二、动态分区
需求:按照不同部门作为分区导数据到目标表
以上需求如果用静态分区的话,数据量大你是不是很懵逼??所以这个需求一般采用动态分区来实现。
1、创建目标表

 hive (default)> create table emp_dynamic_partition(               > empno int,               > ename string,               > job string,               > mgr int,               > hiredate string,               > sal double,               > comm double)               > PARTITIONED BY(deptno int)               > row format delimited fields terminated by '\t';

2、采用动态方式加载数据到目标表
加载之前先设置一下下面的参数

 hive (default)> set hive.exec.dynamic.partition.mode=nonstrict

开始加载

 insert into table emp_dynamic_partition partition(deptno) select empno , ename , job , mgr , hiredate , sal , comm, deptno from emp;

上面加载数据方式并没有指定具体的分区,只是指出了分区字段。在select最后一个字段必须跟你的分区字段,这样就会自行根据deptno的value来分区。

3、验证一下
有值

 hive (default)> select * from emp_dynamic_partition; OK emp_dynamic_partition.empno     emp_dynamic_partition.ename     emp_dynamic_partition.job       emp_dynamic_partition.mgr       emp_dynamic_partition.hiredate     emp_dynamic_partition.sal       emp_dynamic_partition.comm      emp_dynamic_partition.deptno     CLARK   MANAGER     --     KING    PRESIDENT       NULL    --     MILLER  CLERK       --     SMITH   CLERK       --     JONES   MANAGER     --     SCOTT   ANALYST     --     ADAMS   CLERK       --     FORD    ANALYST     --     ALLEN   SALESMAN            --     WARD    SALESMAN            --     MARTIN  SALESMAN            --     BLAKE   MANAGER     --     TURNER  SALESMAN            --     JAMES   CLERK       --     HIVE    PROGRAM     --       10300.0 NULL    NULL

有分区(自动分区)

 hive (default)> show partitions emp_dynamic_partition; OK partition deptno= deptno= deptno= deptno=__HIVE_DEFAULT_PARTITION__ Time taken:  row(s)

4、emp表的具体你内容如下

 hive (default)> select * from emp; OK emp.empno       emp.ename       emp.job emp.mgr emp.hiredate    emp.sal emp.comm        emp.deptno     SMITH   CLERK       --     ALLEN   SALESMAN            --     WARD    SALESMAN            --     JONES   MANAGER     --     MARTIN  SALESMAN            --     BLAKE   MANAGER     --     CLARK   MANAGER     --     SCOTT   ANALYST     --     KING    PRESIDENT       NULL    --     TURNER  SALESMAN            --     ADAMS   CLERK       --     JAMES   CLERK       --     FORD    ANALYST     --     MILLER  CLERK       --     HIVE    PROGRAM     --       10300.0 NULL    NULL
 

——————— 本文来自 A_ChunUnique 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/Gavin_chun/article/details/78174492

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,983
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,500
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,344
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,127
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,761
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,838