博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive动态分区使用
阅读量:4170 次
发布时间:2019-05-26

本文共 936 字,大约阅读时间需要 3 分钟。

Hive动态分区的使用

动态分区可以即时给表添加分区,不用通过修改sql实现。

允许在插入的时候指定分区,分区字段为插入时字段的位置决定。

例如:

FROM page_view_stg pvsINSERT OVERWRITE TABLE page_view PARTITION(dt='2008-06-08', country)       SELECT pvs.viewTime, pvs.userid, pvs.page_url, pvs.referrer_url, null, null, pvs.ip, pvs.cnt

其中country分区为pvs.cnt字段。

动态分区参数


配置参数 默认值 含义
hive.exec.max.dynamic.partitions.pernode 100 每个map或reduce允许创建的最大分区个数
hive.exec.max.dynamic.partitions 1000 允许创建的最大动态分区数
hive.exec.max.created.files 100000 可创建的最大文件个数
hive.exec.dynamic.partition.mode strict strict需要有静态分区字段,nonstrict允许所有分区都是动态的
hive.exec.dynamic.partition false 是否开启动态分区
hive.error.on.empty.partition false 是否抛异常,如果动态分区结果为空

与静态分区的区别

静态分区需要在建表时指定分区字段,例如:

CREATE TABLE page_view(viewTime INT, userid BIGINT,     page_url STRING, referrer_url STRING,     ip STRING COMMENT 'IP Address of the User') COMMENT 'This is the page view table' PARTITIONED BY(dt STRING, country STRING) STORED AS SEQUENCEFILE;

建立分区dt和country。

转载地址:http://hfkai.baihongyu.com/

你可能感兴趣的文章
嵌入式100题(044):为什么客户端最后还要等待2MSL?
查看>>
嵌入式100题(045):为什么建立连接是三次握手,关闭连接确是四次挥手呢?...
查看>>
嵌入式100题(028):static的用法(定义和用途)
查看>>
嵌入式100题(027):char和int之间的转换
查看>>
嵌入式100题(029):const常量和#define的区别(编译阶段、安全性、内存占用等)...
查看>>
嵌入式100题(030):volatile作用和用法
查看>>
嵌入式100题(033):TCP、UDP的优缺点
查看>>
嵌入式100题(035):TCP为什么是可靠连接
查看>>
嵌入式100题(034):TCP UDP适用场景
查看>>
嵌入式100题(70):一个程序从开始运行到结束的完整过程(四个过程)
查看>>
嵌入式100题(71):什么是堆,栈,内存泄漏和内存溢出?
查看>>
嵌入式100题(73):死锁的原因、条件 创建一个死锁,以及如何预防
查看>>
嵌入式100题(60):系统调用的作用
查看>>
C#串口调试助手代码
查看>>
学习DS1820随记
查看>>
初学C#之windowes窗口应用文件
查看>>
linux常用命令
查看>>
Linux之vim(一)vim简介
查看>>
进程间通信的方式简单解析————管道
查看>>
git学习笔录
查看>>