hive 动态分区

原创 2015年11月21日 18:17:27

1.动态分区参数介绍

2.实际例子

几个参数:

set hive.exec.dynamic.partition=true//使用动态分区

set hive.exec.dynamic.partition.mode=nonstrick;//无限制模式

如果模式是strick,则必须有一个静态分区,且放在最前面,就是第一个分区先给他指定好

set hive.exec.max.dynamic.partitions.pernode=10000;//每个节点生成动态分区的最大数

set hive.exec.max.dynamic.partitions=100000;//生成动态分区的最大个数

set hive.exec.max.created.files=150000;//一个任务调度最多可以创建的文件数目

set dfs.datanode.max.xcievers=8888;//限定一次对多打开的文件数

实际例子:

创建分区表:

hive> create table if not exists  dynamic_partition1(month string,detail string) partitioned by(dt string) row format delimited fields terminated by '\t' stored as textfile;

插入数据实现动态分区,使用month作为分区字段:

hive> insert overwrite table dynamic_partition1 partition (dt) select   month,detail,month as dt from dynamic_partition;//注意这里分区字段要放到字段的后面

查看打印信息:

Loading data to table default.dynamic_partition1 partition (dt=null)
         Time taken for load dynamic partitions : 728
        Loading partition {dt=201501}
        Loading partition {dt=201504}
        Loading partition {dt=201503}
        Loading partition {dt=201502}

验证是否生产分区目录:

hive> dfs -ls /user/hive/warehouse/dynamic_partition1;

drwxr-xr-x   - root supergroup          0 2015-11-21 07:57 /user/hive/warehouse/dynamic_partition1/dt=201501
drwxr-xr-x   - root supergroup          0 2015-11-21 07:57 /user/hive/warehouse/dynamic_partition1/dt=201502
drwxr-xr-x   - root supergroup          0 2015-11-21 07:57 /user/hive/warehouse/dynamic_partition1/dt=201503
drwxr-xr-x   - root supergroup          0 2015-11-21 07:57 /user/hive/warehouse/dynamic_partition1/dt=201504


Hive 视图 索引 动态分区装载数据

视图 创建视图 create view v_emp AS select t.name, t.age, t.addr from t_emp; 删除视图 drop view i...

HIVE 动态分区与静态分区

HIVE分区,实际上是通过一个路径来标识的,而不是在物理数据中。比如每天的数据,可能分区是pt=20121023这样,那么路径中它就会变成:/hdfs/path/pt=20121023/data_fi...

Hive通过动态分区装载数据

Hive通过动态分区装载数据

HIVE 动态分区与静态分区

HIVE分区,实际上是通过一个路径来标识的,而不是在物理数据中。比如每天的数据,可能分区是pt=20121023这样,那么路径中它就会变成:/hdfs/path/pt=20121023/data_fi...
  • baosq99
  • baosq99
  • 2017年01月11日 17:07
  • 133

hive中的静态分区与动态分区

hive中创建分区表没有什么复杂的分区类型(范围分区、列表分区、hash分区、混合分区等)。分区列也不是表中的一个实际的字段,而是一个或者多个伪列。意思是说在表的数据文件中实际上并不保存分区列的信息与...
  • jiedushi
  • jiedushi
  • 2012年03月15日 10:45
  • 25243

[原创]hive中的分区,动态分区和静态分区

分区在hive的物理存储中,体现为

hive中的静态分区与动态分区

hive中创建分区表没有什么复杂的分区类型(范围分区、列表分区、hash分区、混合分区等)。分区列也不是表中的一个实际的字段,而是一个或者多个伪列。意思是说在表的数据文件中实际上并不保存分区列的信息与...

HIVE动态分区实战

hive中支持两种类型的分区:静态分区SP(static partition),动态分区DP(dynamic partition) 静态分区与动态分区的主要区别在于静态分区是手动指定,而动态分区是通过...

hive动态分区与静态分区

HIVE分区,实际上是通过一个路径来标识的,而不是在物理数据中。比如每天的数据,可能分区是pt=20121023这样,那么路径中它就会变成:/hdfs/path/pt=20121023/data_fi...

hive动态分区与静态分区

http://blog.csdn.net/inte_sleeper/article/details/8106142 HIVE分区,实际上是通过一个路径来标识的,而不是在物理数据中。比如每天的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hive 动态分区
举报原因:
原因补充:

(最多只允许输入30个字)