-- 作者:tianyu.chu -- 日期:2026-06-10 -- 工单:(无) -- 目的:埋点 raw → ods,解析脱敏后 _source JSON:公共属性 typed 拍平成列 + params 半结构化(params_json);按事件日 dt 分区 -- 状态:[待执行] -- 备注:埋点 ods 特例——非业务库类型恢复,是 JSON 解析(kb/20 §0.2 旁);params 不 per-event 拍平(event explosion,见 ADR-13); -- web 端字段(platform/merchantId/title 等)+ lib_detail 不拍平,回查走 raw raw_json;配套解析 SQL jobs/ods/usr/ods_usr_traces_apd_d.sql DROP TABLE IF EXISTS ods.ods_usr_traces_apd_d; CREATE EXTERNAL TABLE IF NOT EXISTS ods.ods_usr_traces_apd_d ( es_id STRING COMMENT 'ES 文档 _id,去重键', event_name STRING COMMENT '事件名(_source.event)', evt_type STRING COMMENT '事件类型(track/track_signup)', event_time TIMESTAMP COMMENT '事件发生时间(_source.time 毫秒转,东八区)', flush_time TIMESTAMP COMMENT 'SDK 上报时间(_source.flushTime)', login_id STRING COMMENT '登录用户 ID(未登录=0)', distinct_id STRING COMMENT 'SDK 唯一标识', anonymous_id STRING COMMENT '匿名设备 UUID', user_id STRING COMMENT '业务用户 ID(properties.userId)', user_name STRING COMMENT '用户昵称', user_lvl STRING COMMENT '用户等级', lib STRING COMMENT 'SDK 平台(iOS/Android/js)', lib_version STRING COMMENT 'SDK 版本', lib_method STRING COMMENT '埋点触发方式', app_id STRING COMMENT 'App 包名', app_name STRING COMMENT 'App 名称', app_version STRING COMMENT 'App 版本', wgt_version STRING COMMENT '热更新版本', os STRING COMMENT '操作系统', os_version STRING COMMENT '系统版本', manufacturer STRING COMMENT '设备制造商', brand STRING COMMENT '设备品牌(Android)', model STRING COMMENT '设备型号', device_id STRING COMMENT '设备 ID', network_type STRING COMMENT '网络类型', carrier STRING COMMENT '运营商', wifi BOOLEAN COMMENT '是否 WIFI', screen_width BIGINT COMMENT '屏幕宽', screen_height BIGINT COMMENT '屏幕高', timezone_offset BIGINT COMMENT '时区偏移分钟(×-1)', is_first_day BOOLEAN COMMENT '是否首日', is_first_time BOOLEAN COMMENT '是否首次启动($AppStart)', resume_from_background BOOLEAN COMMENT '是否后台恢复($AppStart)', event_duration BIGINT COMMENT '事件时长($AppEnd)', params_json STRING COMMENT '事件专属 params(脱敏后 JSON,不 per-event 拍平)' ) COMMENT '埋点 ods 层(解析拍平,params 半结构化)' PARTITIONED BY (dt STRING COMMENT 'yyyymmdd,事件日') STORED AS ORC LOCATION '/user/hive/warehouse/ods.db/ods_usr_traces_apd_d';