部分概念内容:hive学习(七)——创建动态分区_BigDate_小学生的博客-CSDN博客
进阶篇:
spark增量抽取MySQL中的数据存入hive动态分区表(2)_月亮给我抄代码的博客-CSDN博客
前言:我这里把hive-site.xml文件放在了resource目录中,相关配置及依赖在后面。
不要用中文值作为静态分区或动态分区字段!!!
package my_project
import org.apache.spark.sql.SparkSession
object my_work02 {
def main(args: Array[String]): Unit = {
//TODO 动态分区表demo
val spark: SparkSession = SparkSession
.builder()
.appName("my_work01")
.master("local[*]")
.enableHiveSupport()
.getOrCreate()
//读取MySQL数据,创建临时表
spark.read
.format("jdbc")
.option("driver", "com.mysql.jdbc.Driver")
.option("url", "jdbc:mysql://localhost:3306/spark_db")
.option("user", "root")
.option("password", "456789")
.option("dbtable", "movies")
.load()
.createOrReplaceTempView("datas")
// TODO 以下两个参数必须要在建表前使用
//(开启动态分区,默认为true)
spark
.sql(
"""
|set hive.exec.dynamic.partition=true
|""".stripMargin
)
//(动态分区模式,默认为strict——必须有一列为静态分区,所以这里改成 nonstrict)
spark
.sql(
"""
|set hive.exec.dynamic.partition.mode=nonstrict
|"
版权声明:本文为weixin_46389691原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。