ods_shp_tzy_merchant_info_ful_d.sql 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. -- 作者:tianyu.chu
  2. -- 日期:2026-07-24
  3. -- 工单:(无)
  4. -- 目的:raw → ods 全量快照 —— 读 raw dt=${dt} 全量(一行一 id = 当前态),CAST 落 ods ful_d dt=${dt}
  5. -- 状态:[草案]
  6. -- 备注:sched=T,${dt}=T-1;维度全量快照模型(无 seed / 无 merge / 无 dedup,PG id 唯一)见 kb/24 §1.2.2;
  7. -- 保留近 7 天:INSERT 前 DROP 掉 ${wdt}=T-8 一个分区,raw / ods 一并 drop(raw 的 drop 也收进本 ods
  8. -- 任务,DataX ini 不便 drop);DS 传 wdt=$[yyyyMMdd-8],手动跑 -p wdt=<T-8>;
  9. -- 静态分区写入 PARTITION(dt='${dt}'):源=raw、目标=ods,不同表无读写冲突。
  10. ALTER TABLE raw.raw_shp_tzy_merchant_info_ful_d DROP IF EXISTS PARTITION (dt='${wdt}');
  11. ALTER TABLE ods.ods_shp_tzy_merchant_info_ful_d DROP IF EXISTS PARTITION (dt='${wdt}');
  12. INSERT OVERWRITE TABLE ods.ods_shp_tzy_merchant_info_ful_d PARTITION (dt='${dt}')
  13. SELECT
  14. CAST(id AS BIGINT) AS id,
  15. appid AS appid,
  16. CAST(user_id AS BIGINT) AS user_id,
  17. username AS username,
  18. name AS name,
  19. CAST(status AS BIGINT) AS status,
  20. remark AS remark,
  21. create_by AS create_by,
  22. CAST(create_time AS TIMESTAMP) AS create_time,
  23. update_by AS update_by,
  24. CAST(update_time AS TIMESTAMP) AS update_time,
  25. code AS code,
  26. CAST(fans AS BIGINT) AS fans,
  27. CAST(sale_num AS BIGINT) AS sale_num,
  28. CAST(applet_auth AS BOOLEAN) AS applet_auth,
  29. CAST(applet_lives_auth AS BOOLEAN) AS applet_lives_auth,
  30. applet_lives_role AS applet_lives_role,
  31. commission_rate AS commission_rate,
  32. prop_json AS prop_json,
  33. CAST(sort_rate AS BIGINT) AS sort_rate,
  34. CAST(check_status AS BIGINT) AS check_status,
  35. live_type AS live_type,
  36. living_auth_config AS living_auth_config,
  37. CAST(goods_sold_num AS BIGINT) AS goods_sold_num,
  38. hot_config AS hot_config,
  39. tag_config AS tag_config,
  40. CAST(mall_role AS BIGINT) AS mall_role,
  41. living_time AS living_time,
  42. express_level AS express_level,
  43. CAST(del_flg AS BIGINT) AS del_flg,
  44. group_show_name AS group_show_name,
  45. main_business AS main_business,
  46. CAST(min_card_num AS BIGINT) AS min_card_num,
  47. dy_name AS dy_name,
  48. CAST(current_month_score AS DOUBLE) AS current_month_score,
  49. CAST(member_level AS BIGINT) AS member_level,
  50. member_name AS member_name,
  51. member_medal AS member_medal,
  52. CAST(prefer_valid_time AS TIMESTAMP) AS prefer_valid_time,
  53. tag_id AS tag_id,
  54. CAST(show_status AS BIGINT) AS show_status,
  55. point_type AS point_type,
  56. CAST(refund_limit_day AS BIGINT) AS refund_limit_day,
  57. CAST(open_act_discount AS BIGINT) AS open_act_discount,
  58. CAST(reputation_score AS BIGINT) AS reputation_score,
  59. CAST(hide_stock AS BIGINT) AS hide_stock,
  60. CAST(version AS BIGINT) AS version,
  61. CAST(total_sold_num AS BIGINT) AS total_sold_num,
  62. shipping_cost_config AS shipping_cost_config,
  63. CAST(merchant_group_id AS BIGINT) AS merchant_group_id,
  64. CASE WHEN del_flg = '1' THEN TRUE ELSE FALSE END AS is_deleted
  65. FROM raw.raw_shp_tzy_merchant_info_ful_d
  66. WHERE dt = '${dt}';