|
@@ -222,8 +222,8 @@ case class JudicialCaseRelationPreNew(s: SparkSession, project: String, ds: Stri
|
|
| ,concat_ws('',case_stage(case_no)) as case_stage
|
|
| ,concat_ws('',case_stage(case_no)) as case_stage
|
|
| ,replace_char(plaintiff) as yg_name
|
|
| ,replace_char(plaintiff) as yg_name
|
|
| ,replace_char(defendant) as bg_name
|
|
| ,replace_char(defendant) as bg_name
|
|
|
|
+ | ,start_date as date
|
|
| ,md5(cleanup(CONCAT_WS('',case_no,start_date))) as detail_id
|
|
| ,md5(cleanup(CONCAT_WS('',case_no,start_date))) as detail_id
|
|
- | ,rowkey as detail_id
|
|
|
|
| ,0.0 as case_amt
|
|
| ,0.0 as case_amt
|
|
| from $project.ads_company_court_open_announcement
|
|
| from $project.ads_company_court_open_announcement
|
|
| where length(case_no) > 0 and ds > '0'
|
|
| where length(case_no) > 0 and ds > '0'
|
|
@@ -303,15 +303,15 @@ case class JudicialCaseRelationPreNew(s: SparkSession, project: String, ds: Stri
|
|
spark.udf.register("name_aggs", new NameAggs(1000))
|
|
spark.udf.register("name_aggs", new NameAggs(1000))
|
|
spark.udf.register("case_reason", new CaseReasonAggs(1000))
|
|
spark.udf.register("case_reason", new CaseReasonAggs(1000))
|
|
//预处理数据
|
|
//预处理数据
|
|
- val cols = Seq("flag", "date", "detail_id")
|
|
|
|
-
|
|
|
|
|
|
+ val cols = Seq("flag", "date", "detail_id","name")
|
|
val t1 = s"$project.inc_ads_company_court_announcement"
|
|
val t1 = s"$project.inc_ads_company_court_announcement"
|
|
val t2 = s"ads_judicial_case_relation_pre"
|
|
val t2 = s"ads_judicial_case_relation_pre"
|
|
var t2_ds = ds
|
|
var t2_ds = ds
|
|
var t1_ds = ds
|
|
var t1_ds = ds
|
|
if (StringUtils.isBlank(ds)) {
|
|
if (StringUtils.isBlank(ds)) {
|
|
t2_ds = BaseUtil.getPartion(t2, "wenshu", spark)
|
|
t2_ds = BaseUtil.getPartion(t2, "wenshu", spark)
|
|
- t1_ds = BaseUtil.getPartion(t1, spark)
|
|
|
|
|
|
+ //t1_ds = BaseUtil.getPartion(t1, spark)
|
|
|
|
+ t1_ds = t2_ds
|
|
}
|
|
}
|
|
|
|
|
|
val t3 = "ads_judicial_case_relation_replace" //司法案件id交换表
|
|
val t3 = "ads_judicial_case_relation_replace" //司法案件id交换表
|
|
@@ -325,52 +325,42 @@ case class JudicialCaseRelationPreNew(s: SparkSession, project: String, ds: Stri
|
|
sql(
|
|
sql(
|
|
s"""
|
|
s"""
|
|
|INSERT ${if (isWindows) "INTO" else "OVERWRITE"} TABLE $project.$t3 partition (ds = '$t1_ds')
|
|
|INSERT ${if (isWindows) "INTO" else "OVERWRITE"} TABLE $project.$t3 partition (ds = '$t1_ds')
|
|
- |SELECT COALESCE(b.judicase_id,a.new_judicase_id) judicase_id
|
|
|
|
- | ,a.flag
|
|
|
|
- | ,a.title
|
|
|
|
- | ,a.case_type
|
|
|
|
- | ,a.case_reason
|
|
|
|
- | ,case_no_trim(a.case_no) as case_no
|
|
|
|
- | ,a.court_name
|
|
|
|
- | ,a.case_stage
|
|
|
|
- | ,case_label(a.flag) lable
|
|
|
|
- | ,map_2_json(${getStrToMap(cols)}) as detail
|
|
|
|
- | ,a.yg_name
|
|
|
|
- | ,a.bg_name
|
|
|
|
- | ,a.date
|
|
|
|
- | ,a.detail_id
|
|
|
|
- | ,a.case_amt
|
|
|
|
- |FROM (
|
|
|
|
- | select
|
|
|
|
- | judicase_id
|
|
|
|
- | ,flag
|
|
|
|
- | ,title
|
|
|
|
- | ,case_type
|
|
|
|
- | ,case_reason
|
|
|
|
- | ,case_no_trim(case_no) as case_no
|
|
|
|
- | ,court_name
|
|
|
|
- | ,case_stage
|
|
|
|
- | ,replace_char(yg_name) as yg_name
|
|
|
|
- | ,replace_char(bg_name) as bg_name
|
|
|
|
- | ,date
|
|
|
|
- | ,detail_id
|
|
|
|
- | ,case_amt
|
|
|
|
- | ,md5(CLEANUP(case_no_trim(case_no))) as new_judicase_id
|
|
|
|
- | from $project.$t2
|
|
|
|
- | where ds= '$t2_ds' and tn not in ('wenshu','zxr','zxr_person','company_dishonest_info','company_dishonest_info_person')
|
|
|
|
- | and case_no_trim(case_no) is not null
|
|
|
|
- | and date is not null and length(date) = 19
|
|
|
|
- |) a
|
|
|
|
- |LEFT JOIN (
|
|
|
|
- | select case_no_trim(case_no) as case_no,max(judicase_id) judicase_id
|
|
|
|
- | from $project.$t2
|
|
|
|
- | where ds = '$t2_ds' and tn in ('wenshu','zxr','zxr_person','company_dishonest_info','company_dishonest_info_person')
|
|
|
|
- | and case_no_trim(case_no) is not null
|
|
|
|
- | group by case_no
|
|
|
|
- |) b
|
|
|
|
- |ON CLEANUP(a.case_no) = CLEANUP(b.case_no)
|
|
|
|
- |union all
|
|
|
|
- |SELECT judicase_id
|
|
|
|
|
|
+ |SELECT
|
|
|
|
+ | judicase_id
|
|
|
|
+ | ,flag
|
|
|
|
+ | ,title
|
|
|
|
+ | ,case_type
|
|
|
|
+ | ,case_reason
|
|
|
|
+ | ,case_no
|
|
|
|
+ | ,court_name
|
|
|
|
+ | ,case_stage
|
|
|
|
+ | ,lable
|
|
|
|
+ | ,map_2_json(${getStrToMap(cols)}) as detail
|
|
|
|
+ | ,yg_name
|
|
|
|
+ | ,bg_name
|
|
|
|
+ | ,date
|
|
|
|
+ | ,detail_id
|
|
|
|
+ | ,case_amt
|
|
|
|
+ |FROM
|
|
|
|
+ |(
|
|
|
|
+ | SELECT COALESCE(b.judicase_id,a.new_judicase_id) judicase_id
|
|
|
|
+ | ,a.flag
|
|
|
|
+ | ,a.title
|
|
|
|
+ | ,a.case_type
|
|
|
|
+ | ,a.case_reason
|
|
|
|
+ | ,case_no_trim(a.case_no) as case_no
|
|
|
|
+ | ,a.court_name
|
|
|
|
+ | ,a.case_stage
|
|
|
|
+ | ,case_label(a.flag) lable
|
|
|
|
+ | ,a.yg_name
|
|
|
|
+ | ,a.bg_name
|
|
|
|
+ | ,a.date
|
|
|
|
+ | ,a.detail_id
|
|
|
|
+ | ,a.case_amt
|
|
|
|
+ | ,a.bg_name as name
|
|
|
|
+ | FROM (
|
|
|
|
+ | SELECT
|
|
|
|
+ | judicase_id
|
|
| ,flag
|
|
| ,flag
|
|
| ,title
|
|
| ,title
|
|
| ,case_type
|
|
| ,case_type
|
|
@@ -378,17 +368,46 @@ case class JudicialCaseRelationPreNew(s: SparkSession, project: String, ds: Stri
|
|
| ,case_no_trim(case_no) as case_no
|
|
| ,case_no_trim(case_no) as case_no
|
|
| ,court_name
|
|
| ,court_name
|
|
| ,case_stage
|
|
| ,case_stage
|
|
- | ,case_label(flag) lable
|
|
|
|
- | ,map_2_json(${getStrToMap(cols)}) as detail
|
|
|
|
| ,replace_char(yg_name) as yg_name
|
|
| ,replace_char(yg_name) as yg_name
|
|
| ,replace_char(bg_name) as bg_name
|
|
| ,replace_char(bg_name) as bg_name
|
|
| ,date
|
|
| ,date
|
|
| ,detail_id
|
|
| ,detail_id
|
|
| ,case_amt
|
|
| ,case_amt
|
|
- |from $project.$t2
|
|
|
|
- |where ds = '$t2_ds' and tn in ('wenshu','zxr','zxr_person','company_dishonest_info','company_dishonest_info_person')
|
|
|
|
- | and case_no_trim(case_no) is not null
|
|
|
|
- | and date is not null and length(date) = 19
|
|
|
|
|
|
+ | ,md5(CLEANUP(case_no_trim(case_no))) as new_judicase_id
|
|
|
|
+ | FROM $project.$t2
|
|
|
|
+ | WHERE ds= '$t2_ds' and tn not in ('wenshu','zxr','zxr_person','company_dishonest_info','company_dishonest_info_person')
|
|
|
|
+ | and case_no_trim(case_no) is not null
|
|
|
|
+ | and date is not null and length(date) = 19
|
|
|
|
+ | ) a
|
|
|
|
+ | LEFT JOIN (
|
|
|
|
+ | SELECT case_no_trim(case_no) as case_no,max(judicase_id) judicase_id
|
|
|
|
+ | FROM $project.$t2
|
|
|
|
+ | WHERE ds = '$t2_ds' and tn in ('wenshu','zxr','zxr_person','company_dishonest_info','company_dishonest_info_person')
|
|
|
|
+ | and case_no_trim(case_no) is not null
|
|
|
|
+ | GROUP BY case_no
|
|
|
|
+ | ) b
|
|
|
|
+ | ON CLEANUP(a.case_no) = CLEANUP(b.case_no)
|
|
|
|
+ | UNION ALL
|
|
|
|
+ | SELECT judicase_id
|
|
|
|
+ | ,flag
|
|
|
|
+ | ,title
|
|
|
|
+ | ,case_type
|
|
|
|
+ | ,case_reason
|
|
|
|
+ | ,case_no_trim(case_no) as case_no
|
|
|
|
+ | ,court_name
|
|
|
|
+ | ,case_stage
|
|
|
|
+ | ,case_label(flag) lable
|
|
|
|
+ | ,replace_char(yg_name) as yg_name
|
|
|
|
+ | ,replace_char(bg_name) as bg_name
|
|
|
|
+ | ,date
|
|
|
|
+ | ,detail_id
|
|
|
|
+ | ,case_amt
|
|
|
|
+ | ,replace_char(bg_name) as name
|
|
|
|
+ | FROM $project.$t2
|
|
|
|
+ | WHERE ds = '$t2_ds' and tn in ('wenshu','zxr','zxr_person','company_dishonest_info','company_dishonest_info_person')
|
|
|
|
+ | and case_no_trim(case_no) is not null
|
|
|
|
+ | and date is not null and length(date) = 19
|
|
|
|
+ |)
|
|
|""".stripMargin).show(10, false)
|
|
|""".stripMargin).show(10, false)
|
|
|
|
|
|
//name 替换 cid
|
|
//name 替换 cid
|
|
@@ -487,9 +506,9 @@ case class JudicialCaseRelationPreNew(s: SparkSession, project: String, ds: Stri
|
|
//司法案件主表
|
|
//司法案件主表
|
|
sql(
|
|
sql(
|
|
s"""
|
|
s"""
|
|
- |INSERT ${if (isWindows) "INTO" else "OVERWRITE"} TABLE winhc_eci_dev.ads_judicial_case_relation_r1
|
|
|
|
|
|
+ |INSERT ${if (isWindows) "INTO" else "OVERWRITE"} TABLE winhc_eci.ads_judicial_case_relation_r1
|
|
|SELECT
|
|
|SELECT
|
|
- | judicase_id ,
|
|
|
|
|
|
+ | x.judicase_id ,
|
|
| title ,
|
|
| title ,
|
|
| case_type ,
|
|
| case_type ,
|
|
| case_reason ,
|
|
| case_reason ,
|
|
@@ -503,50 +522,49 @@ case class JudicialCaseRelationPreNew(s: SparkSession, project: String, ds: Stri
|
|
| case_amt ,
|
|
| case_amt ,
|
|
| date ,
|
|
| date ,
|
|
| court_level ,
|
|
| court_level ,
|
|
- | deleted ,
|
|
|
|
|
|
+ | y.deleted ,
|
|
| cids
|
|
| cids
|
|
|FROM
|
|
|FROM
|
|
|(
|
|
|(
|
|
|SELECT judicase_id
|
|
|SELECT judicase_id
|
|
- | ,max(first_title) title
|
|
|
|
- | ,max(case_type) case_type
|
|
|
|
|
|
+ | ,max(title) title
|
|
|
|
+ | ,concat_ws(',',collect_set(case_type)) case_type
|
|
| ,case_reason(case_reason,date,flag) case_reason
|
|
| ,case_reason(case_reason,date,flag) case_reason
|
|
| ,concat_ws(',',collect_set(case_no)) case_no
|
|
| ,concat_ws(',',collect_set(case_no)) case_no
|
|
| ,concat_ws(',',collect_set(court_name)) court_name
|
|
| ,concat_ws(',',collect_set(court_name)) court_name
|
|
| ,last_stage(concat_ws(' ',collect_set(case_stage))) case_stage
|
|
| ,last_stage(concat_ws(' ',collect_set(case_stage))) case_stage
|
|
- | ,concat_ws(',',max(case_type),collect_set(lable)) lable
|
|
|
|
- | ,concat('[',concat_ws(',',collect_set(detail)),']') detail
|
|
|
|
|
|
+ | ,trim_black(concat_ws(',',max(case_type),collect_set(lable))) lable
|
|
|
|
+ | ,null as detail
|
|
| ,max(case_amt) AS case_amt
|
|
| ,max(case_amt) AS case_amt
|
|
| ,max(date) AS date
|
|
| ,max(date) AS date
|
|
| ,trim_black(concat_ws(',',collect_set(court_level))) court_level
|
|
| ,trim_black(concat_ws(',',collect_set(court_level))) court_level
|
|
- | ,max(deleted) deleted
|
|
|
|
| ,concat_ws(',',collect_set(cids)) cids
|
|
| ,concat_ws(',',collect_set(cids)) cids
|
|
| ,name_aggs(yg_name,bg_name,flag,date) name_aggs
|
|
| ,name_aggs(yg_name,bg_name,flag,date) name_aggs
|
|
|FROM (
|
|
|FROM (
|
|
| SELECT a.*
|
|
| SELECT a.*
|
|
- | ,first_value(title) OVER (PARTITION BY a.judicase_id ORDER BY date ASC ) AS first_title
|
|
|
|
- | ,b.deleted
|
|
|
|
| FROM (
|
|
| FROM (
|
|
- | SELECT *,court_level(court_name) court_level
|
|
|
|
|
|
+ | SELECT judicase_id,flag,title,case_type,case_reason,case_no,court_name,case_stage,lable,yg_name,bg_name,date,case_amt,cids
|
|
|
|
+ | ,court_level(court_name) court_level
|
|
| FROM $project.$t6
|
|
| FROM $project.$t6
|
|
| WHERE ds >= '$second_ds'
|
|
| WHERE ds >= '$second_ds'
|
|
- | ) a JOIN
|
|
|
|
- | (
|
|
|
|
- | select *
|
|
|
|
- | from $project.$t4
|
|
|
|
- | ) b on a.judicase_id = b.judicase_id
|
|
|
|
|
|
+ | ) a
|
|
| )
|
|
| )
|
|
|GROUP BY judicase_id
|
|
|GROUP BY judicase_id
|
|
- |)
|
|
|
|
|
|
+ |)x
|
|
|
|
+ |JOIN
|
|
|
|
+ |(
|
|
|
|
+ | select *
|
|
|
|
+ | from $project.$t4
|
|
|
|
+ |) y on x.judicase_id = y.judicase_id
|
|
|""".stripMargin).show(20, false)
|
|
|""".stripMargin).show(20, false)
|
|
|
|
|
|
//明细表
|
|
//明细表
|
|
sql(
|
|
sql(
|
|
s"""
|
|
s"""
|
|
- |INSERT ${if (isWindows) "INTO" else "OVERWRITE"} TABLE winhc_eci_dev.ads_judicial_case_relation_r2
|
|
|
|
|
|
+ |INSERT ${if (isWindows) "INTO" else "OVERWRITE"} TABLE winhc_eci.ads_judicial_case_relation_r2
|
|
|SELECT
|
|
|SELECT
|
|
| id ,
|
|
| id ,
|
|
- | judicase_id ,
|
|
|
|
|
|
+ | x.judicase_id ,
|
|
| title ,
|
|
| title ,
|
|
| case_type ,
|
|
| case_type ,
|
|
| case_reason ,
|
|
| case_reason ,
|
|
@@ -558,40 +576,39 @@ case class JudicialCaseRelationPreNew(s: SparkSession, project: String, ds: Stri
|
|
| name_aggs['yg_name'] yg_name,
|
|
| name_aggs['yg_name'] yg_name,
|
|
| name_aggs['bg_name'] bg_name,
|
|
| name_aggs['bg_name'] bg_name,
|
|
| last_date ,
|
|
| last_date ,
|
|
- | deleted
|
|
|
|
|
|
+ | y.deleted
|
|
|FROM
|
|
|FROM
|
|
|(
|
|
|(
|
|
|SELECT md5(concat_ws('',judicase_id,CLEANUP(case_no))) id
|
|
|SELECT md5(concat_ws('',judicase_id,CLEANUP(case_no))) id
|
|
| ,judicase_id
|
|
| ,judicase_id
|
|
| ,max(first_title) title
|
|
| ,max(first_title) title
|
|
- | ,max(case_type) case_type
|
|
|
|
|
|
+ | ,case_type(max(case_no)) as case_type
|
|
| ,case_reason(case_reason,date,flag) case_reason
|
|
| ,case_reason(case_reason,date,flag) case_reason
|
|
| ,case_no
|
|
| ,case_no
|
|
| ,max(court_name) court_name
|
|
| ,max(court_name) court_name
|
|
| ,case_stage(max(case_no)) as case_stage
|
|
| ,case_stage(max(case_no)) as case_stage
|
|
- | ,concat_ws(',',max(case_type),collect_set(lable)) lable
|
|
|
|
|
|
+ | ,trim_black(concat_ws(',',max(case_type),collect_set(lable))) lable
|
|
| ,concat('[',concat_ws(',',collect_set(detail)),']') detail
|
|
| ,concat('[',concat_ws(',',collect_set(detail)),']') detail
|
|
| ,max(last_date) last_date
|
|
| ,max(last_date) last_date
|
|
- | ,max(deleted) deleted
|
|
|
|
| ,name_aggs(yg_name,bg_name,flag,date) name_aggs
|
|
| ,name_aggs(yg_name,bg_name,flag,date) name_aggs
|
|
|FROM (
|
|
|FROM (
|
|
| SELECT a.*
|
|
| SELECT a.*
|
|
| ,first_value(title) OVER (PARTITION BY a.judicase_id ORDER BY date ASC ) AS first_title
|
|
| ,first_value(title) OVER (PARTITION BY a.judicase_id ORDER BY date ASC ) AS first_title
|
|
| ,first_value(date) OVER (PARTITION BY a.judicase_id ORDER BY date DESC ) AS last_date
|
|
| ,first_value(date) OVER (PARTITION BY a.judicase_id ORDER BY date DESC ) AS last_date
|
|
- | ,b.deleted
|
|
|
|
| FROM (
|
|
| FROM (
|
|
| SELECT *
|
|
| SELECT *
|
|
| FROM $project.$t6
|
|
| FROM $project.$t6
|
|
- | WHERE ds >= '$second_ds'
|
|
|
|
- | )a JOIN
|
|
|
|
- | (
|
|
|
|
- | select *
|
|
|
|
- | from $project.$t4
|
|
|
|
- | )b on a.judicase_id = b.judicase_id
|
|
|
|
|
|
+ | WHERE ds >= '$second_ds' AND length(lable) > 0
|
|
|
|
+ | )a
|
|
|)
|
|
|)
|
|
|GROUP BY judicase_id
|
|
|GROUP BY judicase_id
|
|
| ,case_no
|
|
| ,case_no
|
|
- |)
|
|
|
|
|
|
+ |) x
|
|
|
|
+ |JOIN
|
|
|
|
+ |(
|
|
|
|
+ | select *
|
|
|
|
+ | from $project.$t4
|
|
|
|
+ |) y on x.judicase_id = y.judicase_id
|
|
|""".stripMargin).show(10, false)
|
|
|""".stripMargin).show(10, false)
|
|
|
|
|
|
}
|
|
}
|