spark 日期参数传递

从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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值