Browse Source

docs(table_gen): 添加 agg_wide 193 字段元数据 JSON

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
yangxiaohui 3 weeks ago
parent
commit
6b0c6a512d
1 changed files with 967 additions and 0 deletions
  1. 967 0
      table_gen/loghubods.dwd_recsys_alg_exposure_agg_wide_20260209.json

+ 967 - 0
table_gen/loghubods.dwd_recsys_alg_exposure_agg_wide_20260209.json

@@ -0,0 +1,967 @@
+[
+  {
+    "field": "dt",
+    "type": "STRING",
+    "comment": "日期"
+  },
+  {
+    "field": "user_type",
+    "type": "STRING",
+    "comment": "用户拉活量分层(R0&新用户/R1-50/R_180_330等,汇总为SUM)"
+  },
+  {
+    "field": "hh_bucket",
+    "type": "STRING",
+    "comment": "小时段(00-03/04-07/.../20-23,汇总为SUM)"
+  },
+  {
+    "field": "head_merge_leve2",
+    "type": "STRING",
+    "comment": "进入内容品类(headvideoid品类,汇总为SUM)"
+  },
+  {
+    "field": "vid_merge_leve2",
+    "type": "STRING",
+    "comment": "推荐内容品类(vid品类,TOP10曝光+其他,汇总为SUM)"
+  },
+  {
+    "field": "vid_id",
+    "type": "STRING",
+    "comment": "内容id(品类曝光TOP1+其他,汇总为SUM)"
+  },
+  {
+    "field": "exposure_cnt",
+    "type": "BIGINT",
+    "comment": "曝光次数"
+  },
+  {
+    "field": "exposure_uv",
+    "type": "BIGINT",
+    "comment": "曝光人数(mid去重)"
+  },
+  {
+    "field": "vid_cnt",
+    "type": "BIGINT",
+    "comment": "视频个数(vid去重)"
+  },
+  {
+    "field": "exposure_per_user",
+    "type": "DOUBLE",
+    "comment": "人均曝光次数 = 曝光次数/曝光人数"
+  },
+  {
+    "field": "share_exposure_cnt",
+    "type": "BIGINT",
+    "comment": "产生分享的曝光数"
+  },
+  {
+    "field": "share_cnt",
+    "type": "BIGINT",
+    "comment": "分享总次数"
+  },
+  {
+    "field": "return_exposure_cnt",
+    "type": "BIGINT",
+    "comment": "产生回流的曝光数(含自身) = SUM(is_return_n)"
+  },
+  {
+    "field": "return_exposure_cnt_noself",
+    "type": "BIGINT",
+    "comment": "产生回流的曝光数(非自身) = SUM(is_return_noself)"
+  },
+  {
+    "field": "return_uv",
+    "type": "BIGINT",
+    "comment": "回流人数(含自身) = SUM(return_n_uv)"
+  },
+  {
+    "field": "return_uv_noself",
+    "type": "BIGINT",
+    "comment": "回流人数(非自身) = SUM(return_n_uv_noself)"
+  },
+  {
+    "field": "share_rate",
+    "type": "DOUBLE",
+    "comment": "分享率 = share_exposure_cnt/exposure_cnt"
+  },
+  {
+    "field": "return_rate",
+    "type": "DOUBLE",
+    "comment": "回流率(含自身) = return_exposure_cnt/exposure_cnt"
+  },
+  {
+    "field": "return_rate_noself",
+    "type": "DOUBLE",
+    "comment": "回流率(非自身) = return_exposure_cnt_noself/exposure_cnt"
+  },
+  {
+    "field": "share_return_rate",
+    "type": "DOUBLE",
+    "comment": "分享→回流转化率(非自身) = return_exposure_cnt_noself/share_exposure_cnt"
+  },
+  {
+    "field": "str_real",
+    "type": "DOUBLE",
+    "comment": "= return_rate_noself, 模型label"
+  },
+  {
+    "field": "str_pred",
+    "type": "DOUBLE",
+    "comment": "STR预估 = SUM(str_pred)/exposure_cnt"
+  },
+  {
+    "field": "str_copc",
+    "type": "DOUBLE",
+    "comment": "STR copc = str_real/str_pred"
+  },
+  {
+    "field": "str_mae",
+    "type": "DOUBLE",
+    "comment": "STR MAE = AVG(|str_pred - str_real|)"
+  },
+  {
+    "field": "str_var",
+    "type": "DOUBLE",
+    "comment": "STR VAR = VARIANCE(str_pred - str_real)"
+  },
+  {
+    "field": "rosn_real",
+    "type": "DOUBLE",
+    "comment": "= return_uv_noself/return_exposure_cnt_noself, 模型label"
+  },
+  {
+    "field": "rosn_pred",
+    "type": "DOUBLE",
+    "comment": "ROSN预估 = SUM(rosn_pred WHERE is_return_noself=1)/SUM(is_return_noself)"
+  },
+  {
+    "field": "rosn_copc",
+    "type": "DOUBLE",
+    "comment": "ROSN copc = rosn_real/rosn_pred"
+  },
+  {
+    "field": "rosn_pred_origin",
+    "type": "DOUBLE",
+    "comment": "ROSN原始预估均值 = AVG(rosn_pred_origin)"
+  },
+  {
+    "field": "rosn_mae",
+    "type": "DOUBLE",
+    "comment": "ROSN MAE = AVG(|rosn_pred - rosn_real|) WHERE is_return_noself=1"
+  },
+  {
+    "field": "rosn_var",
+    "type": "DOUBLE",
+    "comment": "ROSN VAR = VARIANCE(rosn_pred - rosn_real) WHERE is_return_noself=1"
+  },
+  {
+    "field": "rovn_real",
+    "type": "DOUBLE",
+    "comment": "= return_uv_noself/exposure_cnt, 模型label"
+  },
+  {
+    "field": "rovn_pred",
+    "type": "DOUBLE",
+    "comment": "rovn预估 = AVG(str_pred*rosn_pred)"
+  },
+  {
+    "field": "rovn_copc",
+    "type": "DOUBLE",
+    "comment": "rovn copc = rovn_real/rovn_pred"
+  },
+  {
+    "field": "rovn_mae",
+    "type": "DOUBLE",
+    "comment": "rovn MAE = AVG(|rovn_pred - rovn_real|)"
+  },
+  {
+    "field": "rovn_var",
+    "type": "DOUBLE",
+    "comment": "rovn VAR = VARIANCE(rovn_pred - rovn_real)"
+  },
+  {
+    "field": "sortscore_avg",
+    "type": "DOUBLE",
+    "comment": "sortscore均值"
+  },
+  {
+    "field": "bn_uv",
+    "type": "BIGINT",
+    "comment": "B链全量: 回流去重人数"
+  },
+  {
+    "field": "bn_pv",
+    "type": "BIGINT",
+    "comment": "B链全量: 回流点击次数"
+  },
+  {
+    "field": "bn_exp",
+    "type": "BIGINT",
+    "comment": "B链全量: 回流session曝光数"
+  },
+  {
+    "field": "bn_ror",
+    "type": "DOUBLE",
+    "comment": "bn_uv/exposure_uv"
+  },
+  {
+    "field": "bn_rov",
+    "type": "DOUBLE",
+    "comment": "bn_uv/exposure_cnt"
+  },
+  {
+    "field": "b1_uv",
+    "type": "BIGINT",
+    "comment": "B链depth=1: 回流去重人数"
+  },
+  {
+    "field": "b1_pv",
+    "type": "BIGINT",
+    "comment": "B链depth=1: 回流点击次数"
+  },
+  {
+    "field": "b1_exp",
+    "type": "BIGINT",
+    "comment": "B链depth=1: 回流session曝光数"
+  },
+  {
+    "field": "b1_ror",
+    "type": "DOUBLE",
+    "comment": "b1_uv/exposure_uv"
+  },
+  {
+    "field": "b1_rov",
+    "type": "DOUBLE",
+    "comment": "b1_uv/exposure_cnt"
+  },
+  {
+    "field": "b2_uv",
+    "type": "BIGINT",
+    "comment": "B链depth=2: 回流去重人数"
+  },
+  {
+    "field": "b2_pv",
+    "type": "BIGINT",
+    "comment": "B链depth=2: 回流点击次数"
+  },
+  {
+    "field": "b2_exp",
+    "type": "BIGINT",
+    "comment": "B链depth=2: 回流session曝光数"
+  },
+  {
+    "field": "b2_ror",
+    "type": "DOUBLE",
+    "comment": "b2_uv/b1_uv"
+  },
+  {
+    "field": "b2_rov",
+    "type": "DOUBLE",
+    "comment": "b2_uv/b1_exp"
+  },
+  {
+    "field": "b3_uv",
+    "type": "BIGINT",
+    "comment": "B链depth=3: 回流去重人数"
+  },
+  {
+    "field": "b3_pv",
+    "type": "BIGINT",
+    "comment": "B链depth=3: 回流点击次数"
+  },
+  {
+    "field": "b3_exp",
+    "type": "BIGINT",
+    "comment": "B链depth=3: 回流session曝光数"
+  },
+  {
+    "field": "b3_ror",
+    "type": "DOUBLE",
+    "comment": "b3_uv/b2_uv"
+  },
+  {
+    "field": "b3_rov",
+    "type": "DOUBLE",
+    "comment": "b3_uv/b2_exp"
+  },
+  {
+    "field": "cn_1_uv",
+    "type": "BIGINT",
+    "comment": "C链hop1: 回流去重人数"
+  },
+  {
+    "field": "cn_1_pv",
+    "type": "BIGINT",
+    "comment": "C链hop1: 回流点击次数"
+  },
+  {
+    "field": "cn_1_exp",
+    "type": "BIGINT",
+    "comment": "C链hop1: 回流session曝光数"
+  },
+  {
+    "field": "cn_1_ror",
+    "type": "DOUBLE",
+    "comment": "cn_1_uv/bn_uv"
+  },
+  {
+    "field": "cn_1_rov",
+    "type": "DOUBLE",
+    "comment": "cn_1_uv/bn_exp"
+  },
+  {
+    "field": "cn_2_uv",
+    "type": "BIGINT",
+    "comment": "C链hop2: 回流去重人数"
+  },
+  {
+    "field": "cn_2_pv",
+    "type": "BIGINT",
+    "comment": "C链hop2: 回流点击次数"
+  },
+  {
+    "field": "cn_2_exp",
+    "type": "BIGINT",
+    "comment": "C链hop2: 回流session曝光数"
+  },
+  {
+    "field": "cn_2_ror",
+    "type": "DOUBLE",
+    "comment": "cn_2_uv/cn_1_uv"
+  },
+  {
+    "field": "cn_2_rov",
+    "type": "DOUBLE",
+    "comment": "cn_2_uv/cn_1_exp"
+  },
+  {
+    "field": "cn_3_uv",
+    "type": "BIGINT",
+    "comment": "C链hop3: 回流去重人数"
+  },
+  {
+    "field": "cn_3_pv",
+    "type": "BIGINT",
+    "comment": "C链hop3: 回流点击次数"
+  },
+  {
+    "field": "cn_3_exp",
+    "type": "BIGINT",
+    "comment": "C链hop3: 回流session曝光数"
+  },
+  {
+    "field": "cn_3_ror",
+    "type": "DOUBLE",
+    "comment": "cn_3_uv/cn_2_uv"
+  },
+  {
+    "field": "cn_3_rov",
+    "type": "DOUBLE",
+    "comment": "cn_3_uv/cn_2_exp"
+  },
+  {
+    "field": "cn_total_uv",
+    "type": "BIGINT",
+    "comment": "C链合计UV = cn_1_uv + cn_2_uv + cn_3_uv"
+  },
+  {
+    "field": "cn_total_pv",
+    "type": "BIGINT",
+    "comment": "C链合计PV = cn_1_pv + cn_2_pv + cn_3_pv"
+  },
+  {
+    "field": "cn_total_exp",
+    "type": "BIGINT",
+    "comment": "C链合计EXP = cn_1_exp + cn_2_exp + cn_3_exp"
+  },
+  {
+    "field": "cn_total_ror",
+    "type": "DOUBLE",
+    "comment": "cn_total_uv/bn_uv"
+  },
+  {
+    "field": "cn_total_rov",
+    "type": "DOUBLE",
+    "comment": "cn_total_uv/bn_exp"
+  },
+  {
+    "field": "c1_1_uv",
+    "type": "BIGINT",
+    "comment": "C链d1-hop1: 回流去重人数"
+  },
+  {
+    "field": "c1_1_pv",
+    "type": "BIGINT",
+    "comment": "C链d1-hop1: 回流点击次数"
+  },
+  {
+    "field": "c1_1_exp",
+    "type": "BIGINT",
+    "comment": "C链d1-hop1: 回流session曝光数"
+  },
+  {
+    "field": "c1_1_ror",
+    "type": "DOUBLE",
+    "comment": "c1_1_uv/bn_uv"
+  },
+  {
+    "field": "c1_1_rov",
+    "type": "DOUBLE",
+    "comment": "c1_1_uv/bn_exp"
+  },
+  {
+    "field": "c2_1_uv",
+    "type": "BIGINT",
+    "comment": "C链d2-hop1: 回流去重人数"
+  },
+  {
+    "field": "c2_1_pv",
+    "type": "BIGINT",
+    "comment": "C链d2-hop1: 回流点击次数"
+  },
+  {
+    "field": "c2_1_exp",
+    "type": "BIGINT",
+    "comment": "C链d2-hop1: 回流session曝光数"
+  },
+  {
+    "field": "c2_1_ror",
+    "type": "DOUBLE",
+    "comment": "c2_1_uv/c1_1_uv"
+  },
+  {
+    "field": "c2_1_rov",
+    "type": "DOUBLE",
+    "comment": "c2_1_uv/c1_1_exp"
+  },
+  {
+    "field": "c3_1_uv",
+    "type": "BIGINT",
+    "comment": "C链d3-hop1: 回流去重人数"
+  },
+  {
+    "field": "c3_1_pv",
+    "type": "BIGINT",
+    "comment": "C链d3-hop1: 回流点击次数"
+  },
+  {
+    "field": "c3_1_exp",
+    "type": "BIGINT",
+    "comment": "C链d3-hop1: 回流session曝光数"
+  },
+  {
+    "field": "c3_1_ror",
+    "type": "DOUBLE",
+    "comment": "c3_1_uv/c2_1_uv"
+  },
+  {
+    "field": "c3_1_rov",
+    "type": "DOUBLE",
+    "comment": "c3_1_uv/c2_1_exp"
+  },
+  {
+    "field": "c1_2_uv",
+    "type": "BIGINT",
+    "comment": "C链d1-hop2: 回流去重人数"
+  },
+  {
+    "field": "c1_2_pv",
+    "type": "BIGINT",
+    "comment": "C链d1-hop2: 回流点击次数"
+  },
+  {
+    "field": "c1_2_exp",
+    "type": "BIGINT",
+    "comment": "C链d1-hop2: 回流session曝光数"
+  },
+  {
+    "field": "c1_2_ror",
+    "type": "DOUBLE",
+    "comment": "c1_2_uv/cn_1_uv"
+  },
+  {
+    "field": "c1_2_rov",
+    "type": "DOUBLE",
+    "comment": "c1_2_uv/cn_1_exp"
+  },
+  {
+    "field": "c2_2_uv",
+    "type": "BIGINT",
+    "comment": "C链d2-hop2: 回流去重人数"
+  },
+  {
+    "field": "c2_2_pv",
+    "type": "BIGINT",
+    "comment": "C链d2-hop2: 回流点击次数"
+  },
+  {
+    "field": "c2_2_exp",
+    "type": "BIGINT",
+    "comment": "C链d2-hop2: 回流session曝光数"
+  },
+  {
+    "field": "c2_2_ror",
+    "type": "DOUBLE",
+    "comment": "c2_2_uv/c1_2_uv"
+  },
+  {
+    "field": "c2_2_rov",
+    "type": "DOUBLE",
+    "comment": "c2_2_uv/c1_2_exp"
+  },
+  {
+    "field": "c3_2_uv",
+    "type": "BIGINT",
+    "comment": "C链d3-hop2: 回流去重人数"
+  },
+  {
+    "field": "c3_2_pv",
+    "type": "BIGINT",
+    "comment": "C链d3-hop2: 回流点击次数"
+  },
+  {
+    "field": "c3_2_exp",
+    "type": "BIGINT",
+    "comment": "C链d3-hop2: 回流session曝光数"
+  },
+  {
+    "field": "c3_2_ror",
+    "type": "DOUBLE",
+    "comment": "c3_2_uv/c2_2_uv"
+  },
+  {
+    "field": "c3_2_rov",
+    "type": "DOUBLE",
+    "comment": "c3_2_uv/c2_2_exp"
+  },
+  {
+    "field": "c1_3_uv",
+    "type": "BIGINT",
+    "comment": "C链d1-hop3: 回流去重人数"
+  },
+  {
+    "field": "c1_3_pv",
+    "type": "BIGINT",
+    "comment": "C链d1-hop3: 回流点击次数"
+  },
+  {
+    "field": "c1_3_exp",
+    "type": "BIGINT",
+    "comment": "C链d1-hop3: 回流session曝光数"
+  },
+  {
+    "field": "c1_3_ror",
+    "type": "DOUBLE",
+    "comment": "c1_3_uv/cn_2_uv"
+  },
+  {
+    "field": "c1_3_rov",
+    "type": "DOUBLE",
+    "comment": "c1_3_uv/cn_2_exp"
+  },
+  {
+    "field": "c2_3_uv",
+    "type": "BIGINT",
+    "comment": "C链d2-hop3: 回流去重人数"
+  },
+  {
+    "field": "c2_3_pv",
+    "type": "BIGINT",
+    "comment": "C链d2-hop3: 回流点击次数"
+  },
+  {
+    "field": "c2_3_exp",
+    "type": "BIGINT",
+    "comment": "C链d2-hop3: 回流session曝光数"
+  },
+  {
+    "field": "c2_3_ror",
+    "type": "DOUBLE",
+    "comment": "c2_3_uv/c1_3_uv"
+  },
+  {
+    "field": "c2_3_rov",
+    "type": "DOUBLE",
+    "comment": "c2_3_uv/c1_3_exp"
+  },
+  {
+    "field": "c3_3_uv",
+    "type": "BIGINT",
+    "comment": "C链d3-hop3: 回流去重人数"
+  },
+  {
+    "field": "c3_3_pv",
+    "type": "BIGINT",
+    "comment": "C链d3-hop3: 回流点击次数"
+  },
+  {
+    "field": "c3_3_exp",
+    "type": "BIGINT",
+    "comment": "C链d3-hop3: 回流session曝光数"
+  },
+  {
+    "field": "c3_3_ror",
+    "type": "DOUBLE",
+    "comment": "c3_3_uv/c2_3_uv"
+  },
+  {
+    "field": "c3_3_rov",
+    "type": "DOUBLE",
+    "comment": "c3_3_uv/c2_3_exp"
+  },
+  {
+    "field": "d0",
+    "type": "BIGINT",
+    "comment": "D链初始成本: session内后续曝光数"
+  },
+  {
+    "field": "dn_1_uv",
+    "type": "BIGINT",
+    "comment": "D链hop1: 回流去重人数"
+  },
+  {
+    "field": "dn_1_pv",
+    "type": "BIGINT",
+    "comment": "D链hop1: 回流点击次数"
+  },
+  {
+    "field": "dn_1_exp",
+    "type": "BIGINT",
+    "comment": "D链hop1: 回流session曝光数"
+  },
+  {
+    "field": "dn_1_ror",
+    "type": "DOUBLE",
+    "comment": "dn_1_uv/exposure_uv"
+  },
+  {
+    "field": "dn_1_rov",
+    "type": "DOUBLE",
+    "comment": "dn_1_uv/d0"
+  },
+  {
+    "field": "dn_2_uv",
+    "type": "BIGINT",
+    "comment": "D链hop2: 回流去重人数"
+  },
+  {
+    "field": "dn_2_pv",
+    "type": "BIGINT",
+    "comment": "D链hop2: 回流点击次数"
+  },
+  {
+    "field": "dn_2_exp",
+    "type": "BIGINT",
+    "comment": "D链hop2: 回流session曝光数"
+  },
+  {
+    "field": "dn_2_ror",
+    "type": "DOUBLE",
+    "comment": "dn_2_uv/dn_1_uv"
+  },
+  {
+    "field": "dn_2_rov",
+    "type": "DOUBLE",
+    "comment": "dn_2_uv/dn_1_exp"
+  },
+  {
+    "field": "dn_3_uv",
+    "type": "BIGINT",
+    "comment": "D链hop3: 回流去重人数"
+  },
+  {
+    "field": "dn_3_pv",
+    "type": "BIGINT",
+    "comment": "D链hop3: 回流点击次数"
+  },
+  {
+    "field": "dn_3_exp",
+    "type": "BIGINT",
+    "comment": "D链hop3: 回流session曝光数"
+  },
+  {
+    "field": "dn_3_ror",
+    "type": "DOUBLE",
+    "comment": "dn_3_uv/dn_2_uv"
+  },
+  {
+    "field": "dn_3_rov",
+    "type": "DOUBLE",
+    "comment": "dn_3_uv/dn_2_exp"
+  },
+  {
+    "field": "dn_total_uv",
+    "type": "BIGINT",
+    "comment": "D链合计UV = dn_1_uv + dn_2_uv + dn_3_uv"
+  },
+  {
+    "field": "dn_total_pv",
+    "type": "BIGINT",
+    "comment": "D链合计PV = dn_1_pv + dn_2_pv + dn_3_pv"
+  },
+  {
+    "field": "dn_total_exp",
+    "type": "BIGINT",
+    "comment": "D链合计EXP = dn_1_exp + dn_2_exp + dn_3_exp"
+  },
+  {
+    "field": "dn_total_ror",
+    "type": "DOUBLE",
+    "comment": "dn_total_uv/exposure_uv"
+  },
+  {
+    "field": "dn_total_rov",
+    "type": "DOUBLE",
+    "comment": "dn_total_uv/d0"
+  },
+  {
+    "field": "d1_1_uv",
+    "type": "BIGINT",
+    "comment": "D链d1-hop1: 回流去重人数"
+  },
+  {
+    "field": "d1_1_pv",
+    "type": "BIGINT",
+    "comment": "D链d1-hop1: 回流点击次数"
+  },
+  {
+    "field": "d1_1_exp",
+    "type": "BIGINT",
+    "comment": "D链d1-hop1: 回流session曝光数"
+  },
+  {
+    "field": "d1_1_ror",
+    "type": "DOUBLE",
+    "comment": "d1_1_uv/exposure_uv"
+  },
+  {
+    "field": "d1_1_rov",
+    "type": "DOUBLE",
+    "comment": "d1_1_uv/d0"
+  },
+  {
+    "field": "d2_1_uv",
+    "type": "BIGINT",
+    "comment": "D链d2-hop1: 回流去重人数"
+  },
+  {
+    "field": "d2_1_pv",
+    "type": "BIGINT",
+    "comment": "D链d2-hop1: 回流点击次数"
+  },
+  {
+    "field": "d2_1_exp",
+    "type": "BIGINT",
+    "comment": "D链d2-hop1: 回流session曝光数"
+  },
+  {
+    "field": "d2_1_ror",
+    "type": "DOUBLE",
+    "comment": "d2_1_uv/d1_1_uv"
+  },
+  {
+    "field": "d2_1_rov",
+    "type": "DOUBLE",
+    "comment": "d2_1_uv/d1_1_exp"
+  },
+  {
+    "field": "d3_1_uv",
+    "type": "BIGINT",
+    "comment": "D链d3-hop1: 回流去重人数"
+  },
+  {
+    "field": "d3_1_pv",
+    "type": "BIGINT",
+    "comment": "D链d3-hop1: 回流点击次数"
+  },
+  {
+    "field": "d3_1_exp",
+    "type": "BIGINT",
+    "comment": "D链d3-hop1: 回流session曝光数"
+  },
+  {
+    "field": "d3_1_ror",
+    "type": "DOUBLE",
+    "comment": "d3_1_uv/d2_1_uv"
+  },
+  {
+    "field": "d3_1_rov",
+    "type": "DOUBLE",
+    "comment": "d3_1_uv/d2_1_exp"
+  },
+  {
+    "field": "d1_2_uv",
+    "type": "BIGINT",
+    "comment": "D链d1-hop2: 回流去重人数"
+  },
+  {
+    "field": "d1_2_pv",
+    "type": "BIGINT",
+    "comment": "D链d1-hop2: 回流点击次数"
+  },
+  {
+    "field": "d1_2_exp",
+    "type": "BIGINT",
+    "comment": "D链d1-hop2: 回流session曝光数"
+  },
+  {
+    "field": "d1_2_ror",
+    "type": "DOUBLE",
+    "comment": "d1_2_uv/dn_1_uv"
+  },
+  {
+    "field": "d1_2_rov",
+    "type": "DOUBLE",
+    "comment": "d1_2_uv/dn_1_exp"
+  },
+  {
+    "field": "d2_2_uv",
+    "type": "BIGINT",
+    "comment": "D链d2-hop2: 回流去重人数"
+  },
+  {
+    "field": "d2_2_pv",
+    "type": "BIGINT",
+    "comment": "D链d2-hop2: 回流点击次数"
+  },
+  {
+    "field": "d2_2_exp",
+    "type": "BIGINT",
+    "comment": "D链d2-hop2: 回流session曝光数"
+  },
+  {
+    "field": "d2_2_ror",
+    "type": "DOUBLE",
+    "comment": "d2_2_uv/d1_2_uv"
+  },
+  {
+    "field": "d2_2_rov",
+    "type": "DOUBLE",
+    "comment": "d2_2_uv/d1_2_exp"
+  },
+  {
+    "field": "d3_2_uv",
+    "type": "BIGINT",
+    "comment": "D链d3-hop2: 回流去重人数"
+  },
+  {
+    "field": "d3_2_pv",
+    "type": "BIGINT",
+    "comment": "D链d3-hop2: 回流点击次数"
+  },
+  {
+    "field": "d3_2_exp",
+    "type": "BIGINT",
+    "comment": "D链d3-hop2: 回流session曝光数"
+  },
+  {
+    "field": "d3_2_ror",
+    "type": "DOUBLE",
+    "comment": "d3_2_uv/d2_2_uv"
+  },
+  {
+    "field": "d3_2_rov",
+    "type": "DOUBLE",
+    "comment": "d3_2_uv/d2_2_exp"
+  },
+  {
+    "field": "d1_3_uv",
+    "type": "BIGINT",
+    "comment": "D链d1-hop3: 回流去重人数"
+  },
+  {
+    "field": "d1_3_pv",
+    "type": "BIGINT",
+    "comment": "D链d1-hop3: 回流点击次数"
+  },
+  {
+    "field": "d1_3_exp",
+    "type": "BIGINT",
+    "comment": "D链d1-hop3: 回流session曝光数"
+  },
+  {
+    "field": "d1_3_ror",
+    "type": "DOUBLE",
+    "comment": "d1_3_uv/dn_2_uv"
+  },
+  {
+    "field": "d1_3_rov",
+    "type": "DOUBLE",
+    "comment": "d1_3_uv/dn_2_exp"
+  },
+  {
+    "field": "d2_3_uv",
+    "type": "BIGINT",
+    "comment": "D链d2-hop3: 回流去重人数"
+  },
+  {
+    "field": "d2_3_pv",
+    "type": "BIGINT",
+    "comment": "D链d2-hop3: 回流点击次数"
+  },
+  {
+    "field": "d2_3_exp",
+    "type": "BIGINT",
+    "comment": "D链d2-hop3: 回流session曝光数"
+  },
+  {
+    "field": "d2_3_ror",
+    "type": "DOUBLE",
+    "comment": "d2_3_uv/d1_3_uv"
+  },
+  {
+    "field": "d2_3_rov",
+    "type": "DOUBLE",
+    "comment": "d2_3_uv/d1_3_exp"
+  },
+  {
+    "field": "d3_3_uv",
+    "type": "BIGINT",
+    "comment": "D链d3-hop3: 回流去重人数"
+  },
+  {
+    "field": "d3_3_pv",
+    "type": "BIGINT",
+    "comment": "D链d3-hop3: 回流点击次数"
+  },
+  {
+    "field": "d3_3_exp",
+    "type": "BIGINT",
+    "comment": "D链d3-hop3: 回流session曝光数"
+  },
+  {
+    "field": "d3_3_ror",
+    "type": "DOUBLE",
+    "comment": "d3_3_uv/d2_3_uv"
+  },
+  {
+    "field": "d3_3_rov",
+    "type": "DOUBLE",
+    "comment": "d3_3_uv/d2_3_exp"
+  },
+  {
+    "field": "all_uv",
+    "type": "BIGINT",
+    "comment": "全链路拉回UV = bn_uv + cn_total_uv + dn_total_uv"
+  },
+  {
+    "field": "all_pv",
+    "type": "BIGINT",
+    "comment": "全链路拉回PV = bn_pv + cn_total_pv + dn_total_pv"
+  },
+  {
+    "field": "all_exp",
+    "type": "BIGINT",
+    "comment": "全链路拉回EXP = bn_exp + cn_total_exp + dn_total_exp"
+  },
+  {
+    "field": "all_ror",
+    "type": "DOUBLE",
+    "comment": "all_uv/exposure_uv"
+  },
+  {
+    "field": "all_rov",
+    "type": "DOUBLE",
+    "comment": "all_uv/exposure_cnt"
+  }
+]