非常重要的动态分区属性:

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);

最新文章

  1. Jingle 相关问题
  2. 6-03使用SQL语句一次型向表中插入多行数据
  3. JS&CSS文件请求合并及压缩处理研究(二)
  4. Android Activity的生命周期
  5. 大神的游戏(codevs 1353)
  6. 最大公约数与欧几里得(Euclid)算法
  7. 网络解析之XML及JSON
  8. 第一章开发简单的Java应用程序
  9. NYOJ--32--SEARCH--组合数
  10. Beta冲刺集合
  11. DDCTF 2018线上赛writeup
  12. String的replaceAll()用法详解
  13. tkinter中鼠标与键盘事件(十五)
  14. Json,Gson,Ajax基础知识
  15. Dubbo(二) —— dubbo配置
  16. Linux系统下apt-get命令无法安装常见软件包?
  17. 【Android开发坑系列】之事件分发机制
  18. MySQL之二 yum安装及初识
  19. Activity标题(title)的显示和隐藏
  20. 快速幂的求解-java方法(int范围之内)

热门文章

  1. Roslyn NameSyntax 的 ToString 和 ToFullString 的区别
  2. 2018-2-13-C#-通配符转正则
  3. P1030 队列的基本操作
  4. gulp 批量添加类名 在一个任务中使用多个文件来源
  5. N9K 40G接口一分4*10G配置
  6. Android生命周期函数执行顺序
  7. web快速开发框架 WebBuilder 8.7发布
  8. vue学习笔记(三)class和style绑定
  9. uniapp安卓ios百度人脸识别、活体检测、人脸采集APP原生插件
  10. lombok工作原理分析