-- 作者：tianyu.chu
-- 日期：2026-06-17
-- 工单：(无)
-- 目的：埋点历史一次性回算 —— 全部 gz 一个 Spark job 解析脱敏、动态分区灌 raw（dt 走目录分区发现）
-- 状态：[待执行]
-- 备注：配批量 put —— 每个 gz 放到 /tmp/raw_usr_traces_backfill/dt={yyyymmdd}/，Spark 读时自动把 dt 当分区列
--       （比 input_file_name() 稳：后者在 text view + Python UDF 查询里返回空，会把行全落到 null 分区）；
--       日常增量仍用 raw_usr_traces_apd_d.py/.sql（单日静态分区）。本文件只供一次性回算。
--       动态覆盖本环境只覆盖 SELECT 出现的分区（kb/21 §8）——全史回算写全部分区，一波灌满。

ADD FILE conf/tracking-mask.ini;

CREATE OR REPLACE TEMPORARY VIEW traces_gz_backfill
USING text
OPTIONS (path '/tmp/raw_usr_traces_backfill/');

INSERT OVERWRITE TABLE raw.raw_usr_traces_apd_d PARTITION (dt)
SELECT
    get_json_object(value, '$._id')           AS es_id,
    get_json_object(value, '$._source.event') AS event_name,
    mask_source(value)                        AS raw_json,
    CAST(dt AS STRING)                        AS dt
FROM traces_gz_backfill;
