hive 动态分区
非常重要的动态分区属性:
hive.exec.dynamic.partition 是否启动动态分区。false(不开启) true(开启)默认是 false
hive.exec.dynamic.partition.mode 打开动态分区后,动态分区的模式,有 strict和 nonstrict 两个值可选,strict 要求至少包含一个静态分区列,nonstrict则无此要求。各自的好处,大家自己查看哈。
hive.exec.max.dynamic.partitions 允许的最大的动态分区的个数。可以手动增加分区。默认1000
hive.exec.max.dynamic.partitions.pernode 一个 mapreduce job所允许的最大的动态分区的个数。默认是100
代码中配置如下:
SparkSession spark = SparkSession.builder().appName("MongoSparkConnectorIntro").master("local")
.config("hive.metastore.uris", 192.168.X.X:9083)
//元数据地址
.config("spark.sql.warehouse.dir", hdfs://192.168.X.X:9000/apps/hive/warehouse);
hdfs端口号及hive在hadoop的默认目录
.config("hive.exec.dynamic.partition", true)
//开启动态分区
.config("hive.exec.dynamic.partition.mode", "nonstrict")
//打开动态分区模式
.config("hive.exec.max.dynamic.partitions", "1000")
//最大分区数量
写入动态分区
df.coalesce(1)//重新分区的一个action算子.write().mode(写入方式).format("存储格式").partitionBy("表中存在的字段").saveAsTable(tablename);
hive 动态分区的更多相关文章
- Hive动态分区和分桶(八)
Hive动态分区和分桶 1.Hive动态分区 1.hive的动态分区介绍 hive的静态分区需要用户在插入数据的时候必须手动指定hive的分区字段值,但是这样的话会导致用户的操作复杂度提高,而且在 ...
- 什么是hive的静态分区和动态分区,它们又有什么区别呢?hive动态分区详解
面试官问我,什么是hive的静态分区和动态分区,这题我会呀. 简述 分区是hive存放数据的一种方式,将列值作为目录来存放数据,就是一个分区,可以有多列. 这样查询时使用分区列进行过滤,只需根据列值直 ...
- Hive动态分区
1.开启支持动态分区 set hive.exec.dynamic.partition=true; --默认为false set hive.exec.dynamic.partition.mode=nos ...
- hive动态分区和混合分区
各位看官,今天我们来讨论下再Hive中的动态分区和混合分区方面的一些知识点以及相关的一些问题. 前面我们已经讲过管理表和外部表的一般分区的一些知识点,对于需要对表创建很多的分区,那么用户就需要些很多的 ...
- hive 动态分区实现 (hive-1.1.0)
笔者使用的hive版本是hive-1.1.0 hive-1.1.0动态分区的默认实现是只有map没有reduce,通过执行计划就可以看出来.(执行计划如下) insert overwrite tabl ...
- hive 动态分区与混合分区
hive的分区概念,相信大家都非常了解了.通过将数据放在hdfs不同的文件目录下,查表时,只扫描对应分区下的数据,避免了全表扫描. 提升了查询效率. 关于hive分区,我们还会用到多级分区.动态分区. ...
- Hive动态分区 参数配置及语法
Hive本身是不支持动态分区的.. 但动态分区是真的方便啊..不然手动维护要累死..按日期甚至小时来分区时动辄就好几千上万的分区..手动到哪一年去..? 想要用动态分区要先做一些设置来修改默认的配置. ...
- hive动态分区与静态分区
测试目的:1.分区表的动态分区与静态分区2.每层数据,数据流向,数据是否在每层都保留一份测试结果:1.动态分区/静态分区略2.每层表的数据都会保留,因此在生产上odm层的数据是可以删除的(不管是内表还 ...
- shell脚本中向hive动态分区插入数据
在hive上建表与普通分区表创建方法一样: CREATE TABLE `dwa_m_user_association_circle`( `device_number` string, `oppo_nu ...
随机推荐
- js 替换指定位置的字符串
不多bb,直接代码 //str:原始字符串,index,开始位置,changeStr,改变后的字 changeStr(str,index,changeStr){ return str.substr(0 ...
- Wannafly挑战赛15 C“出队”(约瑟夫环类问题)
传送门 •参考资料 [1]:浅梦无痕 [2]:Esquecer [3]:My CSDN •题意 n 个人围成一圈,1,2 报数,报 1 的离队,求编号为 x 的第几次出队: •对博文[1]的理解 第一 ...
- H3C 根据主机地址数划分子网
- NetBIOS 计算机名称命名限制
本文告诉大家对于 NetBIOS 的命名的限制 长度限制 最小长度是 1 最长长度是 15 因为默认是 16 字符,但是微软使用最后一个字符作为后缀 可以使用的字符 可以使用英文和数字 abcdefg ...
- linux 阻塞 open 作为对 EBUSY 的替代
当设备不可存取, 返回一个错误常常是最合理的方法, 但是有些情况用户可能更愿意等待 设备. 例如, 如果一个数据通讯通道既用于规律地预期地传送报告(使用 crontab), 也用于根据 用户的需要偶尔 ...
- Linux 内核PCI 中断
对于中断, PCI 是容易处理的. 在 Linux 启动时, 计算机的固件已经分配一个唯一的中 断号给设备, 并且驱动只需要使用它. 中断号被存储于配置寄存器 60 (PCI_INTERRUPT_LI ...
- lnmp一键安装,安装php时失败
查看安装日志 直接cd进入根目录报错内容:configure: error: mcrypt.h not found. Please reinstall libmcrypt 解决办法如下#使用wget可 ...
- lambda应用
def test(a, b, func): result = func(a, b) print(result) test(10, 15, lambda x, y: x + y) #coding=utf ...
- Jmeter官方插件安装
在正常使用的过程中,当jmeter功能满足不了使用场景时,可以通过安装官方的插件去实现. Jmeter插件管理官网地址: https://jmeter-plugins.org/install/Inst ...
- 【他山之石】mybatis打印sql日志 相关配置
背景:mybatis的sql日志打印对我来说一直比较迷,哪怕看过网上很多博客后还是这样,这两天刚好又遇到了问题,要查sql不得已又来查阅,这次终于搞定了. mybatis是有提供日志功能支持的,目前支 ...