|
@@ -32,13 +32,18 @@ case class inc_company_ng(s: SparkSession,
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ val cols = getColumns(inc_ads_tab).diff(Seq("ds"))
|
|
|
+ val up = cols.contains("update_time") match {
|
|
|
+ case true => " DESC,update_time"
|
|
|
+ case false => ""
|
|
|
+ }
|
|
|
sql(
|
|
|
s"""
|
|
|
|INSERT ${if (isWindows) "INTO" else "OVERWRITE"} TABLE $ads_tab PARTITION(ds='$inc_ods_ds')
|
|
|
|SELECT ${getColumns(ads_tab).diff(Seq("ds")).mkString(",")}
|
|
|
|FROM (
|
|
|
| SELECT *
|
|
|
- | ,ROW_NUMBER() OVER(PARTITION BY company_id ORDER BY ds DESC) AS num
|
|
|
+ | ,ROW_NUMBER() OVER(PARTITION BY company_id ORDER BY ds${up} DESC) AS num
|
|
|
| FROM (
|
|
|
| SELECT *
|
|
|
| FROM $ods_tab
|
|
@@ -81,15 +86,19 @@ case class inc_company_ng(s: SparkSession,
|
|
|
org_ds = inc_ads_sec_ds
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ val cols = getColumns(inc_ads_tab).diff(Seq("ds"))
|
|
|
+ val up = cols.contains("update_time") match {
|
|
|
+ case true => " DESC,update_time"
|
|
|
+ case false => ""
|
|
|
+ }
|
|
|
|
|
|
sql(
|
|
|
s"""
|
|
|
|INSERT ${if (isWindows) "INTO" else "OVERWRITE"} TABLE $inc_ads_tab PARTITION(ds='$target_ds')
|
|
|
- |SELECT ${getColumns(inc_ads_tab).diff(Seq("ds")).mkString(",")}
|
|
|
+ |SELECT ${cols.mkString(",")}
|
|
|
|FROM (
|
|
|
| SELECT *
|
|
|
- | ,ROW_NUMBER() OVER(PARTITION BY company_id ORDER BY ds DESC) AS num
|
|
|
+ | ,ROW_NUMBER() OVER(PARTITION BY company_id ORDER BY ds${up} DESC) AS num
|
|
|
| FROM (
|
|
|
| SELECT *
|
|
|
| FROM $inc_ods_tab
|