从table1中导数据到table_df昨天的分区。
package com.zz.spark.dm.tag
import org.apache.spark.sql.{DataFrame, SparkSession}
import java.text.SimpleDateFormat
import java.util.{Calendar, Date}
object Demo1 {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder()
.appName("Demo1")
.master("local")
.getOrCreate()
var dt = ""
if (args.length != 0){ // 没有传递参数时,默认日期为昨天
val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd")
val cal: Calendar = Calendar.getInstance()
// val today = dateFormat.format(cal.getTime()) // 今天
cal.add(Calendar.DATE, -1) // 昨天
dt = dateFormat.format(cal.getTime())
println(dt)
} else {
dt = args(0)
}
import spark.implicits._
// is_credit_loan_user_dm
spark.sql(s"insert overwrite table zz.table_df partition(dt='${dt}') " +
s"select user_id,tag_code from zz.table1")
spark.close()
}
}
调用
spark-submit --class com.zz.spark.dm.tag.Demo1 dm-tag-1.0.jar 2022-04-25