Browse Source

feat: 加入获取keyno和name固定值

许家凯 3 years ago
parent
commit
f0e9a66dab
1 changed files with 16 additions and 3 deletions
  1. 16 3
      src/main/scala/com/winhc/bigdata/spark/ng/jobs/general_handler.scala

+ 16 - 3
src/main/scala/com/winhc/bigdata/spark/ng/jobs/general_handler.scala

@@ -66,17 +66,30 @@ case class general_handler(s: SparkSession,
       }
     }
 
+    def get_fixed_val(key_no: String, name: String): String = {
+      if (StringUtils.isEmpty(key_no)) {
+        name
+      } else {
+        if (key_no.length == 32) {
+          key_no
+        } else {
+          name
+        }
+      }
+    }
+
     spark.udf.register("use_user_defined_rowkey", replace_rowkey _)
 
     spark.udf.register("holder_switch_rowkey", company_holder_rowkey _)
 
     spark.udf.register("split_date", DateUtils.splitDate _)
 
+    spark.udf.register("get_fixed_val", get_fixed_val _)
 
   }
 
   private def get_rowkey_udf(): String = {
-    def get_row(): String ={
+    def get_row(): String = {
       if (StringUtils.isNotEmpty(job_args.rowkey_udf)) {
         return job_args.rowkey_udf
       }
@@ -88,10 +101,10 @@ case class general_handler(s: SparkSession,
       }
     }
 
-    if(job_args.id_user_defined_rowkey){
+    if (job_args.id_user_defined_rowkey) {
       //使用ods层rowkey
       s" use_user_defined_rowkey(rowkey,${get_row()}) "
-    }else{
+    } else {
       get_row()
     }