Bladeren bron

refactor(tracking): 埋点 raw DDL/脚本挪到 tests 冒烟 test 库

- 文件位置:manual/ddl/raw/usr + jobs/raw/usr → tests/integration/tracking/
- 库名:raw → test;LOCATION /user/hive/warehouse/{raw→test}.db/
- 脚本常量 HIVE_DB / HDFS_TBL_DIR 同步改
- 用例:先在 test 库冒烟跑通,再迁回正式 raw 位置
tianyu.chu 1 week geleden
bovenliggende
commit
d2a72b3889

+ 0 - 16
manual/ddl/raw/usr/raw_usr_traces_apd_d_create.sql

@@ -1,16 +0,0 @@
--- 作者:tianyu.chu
--- 日期:2026-04-26
--- 工单:(无,项目初建埋点 raw 表)
--- 目的:埋点 raw 层,承接 ES 导出的 NDJSON.gz 文件(每行一个 ES hit),整行原文存为 STRING;
---       gz 直接落 HDFS 不解压,Hive TEXTFILE 自动按 .gz 解压读取
--- 状态:[待执行]
-
-DROP TABLE IF EXISTS raw.raw_usr_traces_apd_d;
-
-CREATE EXTERNAL TABLE IF NOT EXISTS raw.raw_usr_traces_apd_d (
-    raw_json STRING COMMENT 'ES hit 整行 JSON(含 _index/_type/_id/_score/_source)'
-)
-COMMENT '埋点贴源表(ES 导出 NDJSON.gz 原文)'
-PARTITIONED BY (dt STRING COMMENT 'yyyymmdd')
-STORED AS TEXTFILE
-LOCATION '/user/hive/warehouse/raw.db/raw_usr_traces_apd_d';

+ 15 - 0
tests/integration/tracking/ddl/hive_raw.sql

@@ -0,0 +1,15 @@
+-- Hive raw 层贴源表(埋点冒烟测试)
+--
+-- 源:m2:/data/upload/tracking/temp/traces-{YYYY-MM-DD}.json.gz(ES NDJSON 导出)
+-- 库:test(测试期);正式上线迁到 raw 库,表名/结构/LOCATION(除 db 段)保留
+-- 存储:TEXTFILE 直存 .gz(gz 不解压上 HDFS,TextInputFormat 自动按后缀解压读取)
+-- 分区:dt=yyyymmdd(来自文件名)
+-- 字段:仅 raw_json 一列,存 ES hit 整行(含 _index/_type/_id/_score/_source)
+
+CREATE EXTERNAL TABLE IF NOT EXISTS test.raw_usr_traces_apd_d (
+    raw_json STRING COMMENT 'ES hit 整行 JSON(含 _index/_type/_id/_score/_source)'
+)
+COMMENT '埋点贴源表(ES NDJSON.gz 原文,冒烟测试)'
+PARTITIONED BY (dt STRING COMMENT 'yyyymmdd')
+STORED AS TEXTFILE
+LOCATION '/user/hive/warehouse/test.db/raw_usr_traces_apd_d';

+ 8 - 7
jobs/raw/usr/raw_usr_traces_apd_d.py → tests/integration/tracking/raw_usr_traces_apd_d.py

@@ -1,10 +1,10 @@
 #!/usr/bin/env /usr/bin/python3
 # -*- coding:utf-8 -*-
 """
-埋点 NDJSON.gz → raw.raw_usr_traces_apd_d 单日入仓
+埋点 NDJSON.gz → test.raw_usr_traces_apd_d 单日入仓(冒烟测试期)
 
 CLI:
-  python3 jobs/raw/usr/raw_usr_traces_apd_d.py -dt YYYYMMDD
+  python3 tests/integration/tracking/raw_usr_traces_apd_d.py -dt YYYYMMDD
 
 行为:
   - 在 SOURCE_DIR 下找 traces-{YYYY-MM-DD}.json.gz(dt 转中划线格式拼文件名)
@@ -12,8 +12,9 @@ CLI:
   - hdfs dfs -put -f 源 gz 到该分区目录(-f 覆盖,幂等可重跑)
   - hive -e ALTER TABLE ... ADD IF NOT EXISTS PARTITION ... LOCATION ...
 
-当前 SOURCE_DIR 写死成 m2 临时目录;上 DS 调度时把 SOURCE_DIR 改成正式产线路径,
-其余逻辑无需改动(CLI 已是单 dt 单文件语义,与调度天然契合)。
+当前 HIVE_DB='test'、HDFS_TBL_DIR 指 test.db;冒烟跑通后迁到 jobs/raw/usr/ 并把
+HIVE_DB / HDFS_TBL_DIR 改回 raw / raw.db。SOURCE_DIR 仍是 m2 临时目录,
+正式上调度时改成产线路径,CLI 不变。
 """
 import argparse
 import os
@@ -22,8 +23,8 @@ import subprocess
 import sys
 
 SOURCE_DIR = '/data/upload/tracking/temp'
-HDFS_TBL_DIR = '/user/hive/warehouse/raw.db/raw_usr_traces_apd_d'
-HIVE_DB = 'raw'
+HDFS_TBL_DIR = '/user/hive/warehouse/test.db/raw_usr_traces_apd_d'
+HIVE_DB = 'test'
 HIVE_TBL = 'raw_usr_traces_apd_d'
 DT_PATTERN = re.compile(r'^\d{8}$')
 
@@ -48,7 +49,7 @@ def run(cmd):
 def main():
     parser = argparse.ArgumentParser(
         prog='raw_usr_traces_apd_d',
-        description='埋点 NDJSON.gz → raw.raw_usr_traces_apd_d 单日入仓',
+        description='埋点 NDJSON.gz → test.raw_usr_traces_apd_d 单日入仓',
     )
     parser.add_argument('-dt', required=True, metavar='YYYYMMDD',
                         help='分区日期,yyyymmdd 格式(如 20260409)')