摘要:Spark SQL
,Hive
新建hive表
新建hive表,定义好字段类型和分区字段
CREATE TABLE `test` (
`id` int,
`name` string,
`score` double
) PARTITIONED BY (
`dt` string
) STORED AS PARQUET;
Spark SQL调用HQL语法
将DataFrame创建为视图表,创建一个分区字符串对象,使用insert overwrite
指定partition(dt=????)
进行指定分区的overwrite操作
res.createOrReplaceTempView("res")
// dt = "20201212"
val dt: String = getDiffDate(configProperties.value.getProperty("dtDiffDays").toInt, getNowDate()).replace("-", "")
spark.sql(s"insert overwrite table ${configProperties.value.getProperty("saveModelTable")} partition(dt='${dt}') select * from res")
查看插入结果
建表之后test为一张空表,分别指定三次插入overwrite操作,dt分别为"20201203","20201203","20201208",最终结果只有两个分区的数据
hive> show partitions test;
OK
partition
dt=20201203
dt=20201208
网友评论