|
@@ -15,12 +15,16 @@ import scala.annotation.meta.getter
|
|
case class CompanyForCidUtils(s: SparkSession, space: String, sourceTable: String, cols: Seq[String]) extends LoggingUtils with CompanyMapping{
|
|
case class CompanyForCidUtils(s: SparkSession, space: String, sourceTable: String, cols: Seq[String]) extends LoggingUtils with CompanyMapping{
|
|
@(transient@getter) val spark: SparkSession = s
|
|
@(transient@getter) val spark: SparkSession = s
|
|
|
|
|
|
|
|
+ val rowKeyMapping =
|
|
|
|
+ Map("company_double_random_check_result_info" -> "new_cid,main_id" //双随机抽查-结果公示
|
|
|
|
+ )
|
|
|
|
+
|
|
def calc(): Unit = {
|
|
def calc(): Unit = {
|
|
println(s"${this.getClass.getSimpleName} calc start! " + new Date().toString)
|
|
println(s"${this.getClass.getSimpleName} calc start! " + new Date().toString)
|
|
prepareFunctions(spark)
|
|
prepareFunctions(spark)
|
|
- val odsTable = s"${space}.$sourceTable"
|
|
|
|
- val adsTable = s"${space}.ads_${sourceTable.substring(4)}"
|
|
|
|
- val companyMapping = s"${space}.company_map"
|
|
|
|
|
|
+ val odsTable = s"${space}.ods_$sourceTable"
|
|
|
|
+ val adsTable = s"${space}.ads_${sourceTable}"
|
|
|
|
+ val companyMapping = s"${space}.company_name_mapping_pro_v2"
|
|
val ds = BaseUtil.getPartion(odsTable, spark)
|
|
val ds = BaseUtil.getPartion(odsTable, spark)
|
|
//table字段
|
|
//table字段
|
|
val columns: Seq[String] = spark.table(odsTable).schema.map(_.name).filter(!_.equals("ds"))
|
|
val columns: Seq[String] = spark.table(odsTable).schema.map(_.name).filter(!_.equals("ds"))
|
|
@@ -28,6 +32,9 @@ case class CompanyForCidUtils(s: SparkSession, space: String, sourceTable: Strin
|
|
|
|
|
|
val cols_md5 = disCol.filter(!_.equals("new_cid"))
|
|
val cols_md5 = disCol.filter(!_.equals("new_cid"))
|
|
|
|
|
|
|
|
+ //rowkey前缀匹配
|
|
|
|
+ val rowKeyPre = rowKeyMapping.getOrElse(sourceTable,"new_cid")
|
|
|
|
+
|
|
val ddl = spark.table(odsTable).schema.filter(s=>{!"ds".equals(s.name)}).map(s=>{
|
|
val ddl = spark.table(odsTable).schema.filter(s=>{!"ds".equals(s.name)}).map(s=>{
|
|
|
|
|
|
val name = s.name
|
|
val name = s.name
|
|
@@ -57,7 +64,7 @@ case class CompanyForCidUtils(s: SparkSession, space: String, sourceTable: Strin
|
|
| SELECT
|
|
| SELECT
|
|
| *
|
|
| *
|
|
| ,ROW_NUMBER() OVER (PARTITION BY ${disCol.mkString(",")} ORDER BY id DESC ) num
|
|
| ,ROW_NUMBER() OVER (PARTITION BY ${disCol.mkString(",")} ORDER BY id DESC ) num
|
|
- | ,CONCAT_WS('_',new_cid,md5(cleanup(CONCAT_WS('',${cols_md5.mkString(",")})))) AS rowkey
|
|
|
|
|
|
+ | ,CONCAT_WS('_',$rowKeyPre,md5(cleanup(CONCAT_WS('',${cols_md5.mkString(",")})))) AS rowkey
|
|
| ,cleanup(CONCAT_WS('',${cols_md5.mkString(",")})) AS cols
|
|
| ,cleanup(CONCAT_WS('',${cols_md5.mkString(",")})) AS cols
|
|
| FROM (
|
|
| FROM (
|
|
| SELECT
|
|
| SELECT
|