目录
此内容是否有帮助?

# データトラックバック機能

# I.概要

データトラックバック機能は、SQL文を介してTEデータベース内のデータをクエリした後、返された結果をTEデータベースに入力して、新しいイベントまたは新しいユーザー属性を生成する機能です。

# 二、使用説明

# 2.1コマンド説明

いずれかのTEサーバーにログインし、su-taコマンドを実行し、TEユーザー

を実行ta-tool user_event_import-conf、次のコマンドで構成テキストを読み込みます

ta-tool user_event_import -conf <config文件> [--date 数据日期]

# 2.2コマンドパラメータの説明

# 2.2.1-conf

必ず渡す。パラメータはデータバックタスクに対応してテキストを構成するパスで、ワイルドカードをサポートする方式(例:/data/config/*または./config/*. json)

# 2.2.1-日付

オプションで、パラメータはデータの日付を表し、時間マクロはこの基準時間に基づいて置換され、伝達されない場合はデフォルトで現在の日付を取り、形式はYYYYY-MM-DD、時間マクロの具体的な使用方法は、時間マクロの使用方法を参考時間マクロの使用方法

# 2.2.3例

ta-tool user_event_import -conf /data/home/ta/import_configs/*.json

パラメーターは、ワイルドカードを使用して複数の構成ブックを読み取る

# 2.3配置文書の説明

# 2.3.1構成テキストの例は次のとおりです。

データバック機能の中核は、クエリ文と構成パラメータを含む構成文書である。構成テキストは、データバックタスクに対応し、バックイベントの構成テキストは次のとおりです

{
  "event_desc": {
    "ltv_event": "用户生命周期"
  },
  "appid": "APPID",
  "type": "event",
  "property_desc": {
    "register_date": "注册日期",
    "date_prop": "LTV日数"
  },
  "sql": "SELECT 'thinkinggame' \"#account_id\",'ltv_event' \"#event_name\",register_date \"#time\",register_date,ltv,date_prop FROM  (SELECT recharge_money ltv,register_date,CASE date_trunc('day', cast(register_date AS TIMESTAMP)) WHEN CURRENT_DATE - interval '1' DAY THEN '次日' WHEN CURRENT_DATE - interval '2' DAY THEN '三日' WHEN CURRENT_DATE - interval '6' DAY THEN '七日' WHEN CURRENT_DATE - interval '13' DAY THEN '十四日' WHEN CURRENT_DATE - interval '29' DAY THEN '三十日' ELSE NULL END date_prop FROM (SELECT sum(recharge_money) recharge_money ,register_date FROM (SELECT \"#user_id\" ,sum(recharge_value) recharge_money ,\"$part_date\" recharge_date FROM v_event_0 WHERE \"$part_event\" = 'recharge' AND \"$part_date\" > '2018-06-30' AND \"$part_date\" < '2018-07-30' GROUP BY \"#user_id\" , \"$part_date\") a LEFT JOIN (SELECT \"#user_id\" , \"$part_date\" register_date FROM v_event_0 WHERE \"$part_event\" = 'player_register' AND \"$part_date\" > '2018-06-30' AND \"$part_date\" < '2018-07-30') b ON a.\"#user_id\" = b.\"#user_id\" WHERE b.\"#user_id\" IS NOT NULL AND recharge_date >= register_date GROUP BY register_date) c) d WHERE date_prop IS NOT NULL"
}

注意

Listタイプをトラックバックする必要がある場合、基になるストアリストタイプは文字列で\tで区切られているため、次のように処理

分割("array Column",(0009))array Columnとして

# 2.3.2構成パラメータの説明

各構成テキストはJSONで表され、以下は各要素の意味です

  • イベント_desc:
    • 説明:オプション設定、JSONオブジェクト、新規イベントの表示名
    • key:イベント名
    • value:表示名
  • APPID
    • 説明:クエリ結果のターゲットプロジェクトのAPPIDを書き込むように構成する必要があります
  • タイプ:
    • 説明:ターゲットプロジェクトのeventテーブルまたはuserテーブル
    • 取得可能な値: event, user
  • プロパティ_desc:
    • 説明:オプション設定、JSONオブジェクト、プロパティ名の表示名
    • key:プロパティ名
    • value:表示名
  • SQL:
    • 説明:設定する必要があります。文字列は、クエリの文です。結果を返す列の名前は、その列のデータの具体的な意味を決定します。
      • 必要な列名1:#account_idまたは#distinct_idは、少なくとも一方が必要で、トリガーユーザーのアカウントIDと匿名IDに対応し、生成されたイベントが個人によってトリガーされない場合は、上記の例のLTVのように、IDルール外の固定値表現、例えば「system」、「admin」など
      • 必須列名2:#event_name、イベント名、推奨設定値
      • 必須列名3:#time、イベントが発生した時刻、形式はyyyy-MM-dddHH: mm: ssまたはyyy-MM-ddHH: mm: ss.SSS

上記の列名を除いて、残りの列のデータはイベントの属性となり、列名は属性名

トラックバックイベントに加えて、クエリ結果を使用して新しいユーザー属性を生成したり、既存のユーザー属性を上書きしたりすることもサポートされています。

{
  "appid": "8d1820678a064397bbfcc9732f352e75",
  "type": "user",
  "property_desc": {
    "user_level": "用户等级",
    "coin_num": "金币存量"
  },
  "sql": "select \"#account_id\",localtimestamp \"#time\",user_level,coin_num from v_user_0"
}

トレースバックイベントと同様に、構成テキストもJSONで表され、トレースバックイベントの構成テキストとは次のように異なります

  • は不要です
  • typeの値は"user"
  • sqlに必要な列名は#event_nameは必要ありません
    • 必要な列名1:#account_idまたは#distinct_idの少なくともいずれかが必要です
    • 必須列名2:#time、時間を表す

# 2.4タイムマクロの使い方

データバックタスク構成書の内部で時間マクロを使用して時間パラメータを置き換えることができ、データバックコマンドを実行するとき、ta-toolツールは--dateを基準にして、時間マクロのパラメータに基づいて時間のオフセット計算を行い、構成書の時間マクロを交換し、サポートする時間マクロ形式:@[{yyyyyMMdd}]@[{yyyMMdd}-{nday}]@[{yyyMMdd}+{nday}]など

  • yyyMMddは、JavadateFormat解析できる任意の日付形式に置き換えることができます。SSS,SSS
  • nは任意の整数であり、時間のオフセット値
  • dayは時間のオフセット単位を表し、次のように取るできる時間
  • 例:現在の時刻を仮定します
    • @[{yyyMMdd}}]20180701に置き換え
    • @[{yyyy-MM-dd}-{1day}]に置き換え置き換え
    • @[{yyyMMddHH}+{2hour}]2018070117に置き換え
    • @[{yyyyMMddHHmm00}-{10minute}]置き換えて20180701150300