メインコンテンツまでスキップ

外部ユーザープロパティの関連付けインポート機能

最終更新 2026/10/03

1. はじめに​

場合によっては、外部のユーザーデータをAEクラスターにインポートする必要があるものの、データ内のユーザー識別子がAEシステムの#account_idや#distinct_idではないことがあります。たとえば、携帯電話番号、身分証明書番号、またはその他の識別IDを主キーとするデータです。このようなデータをユーザープロパティとしてAEシステムにインポートする場合は、update_user_by_foreignkeyコマンドで関連付けを設定し、外部のユーザープロパティをAEシステムに更新する必要があります。現在、dataxが対応しているすべてのデータソースに対応しています:

2. 使用方法​

2.1 コマンドの説明​

データインポートのコマンドは次のとおりです:

ta-tool update_user_by_foreignkey -conf <config files> [--date xxx]

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

2.2.1 -conf​

渡すパラメータはインポートタスクの設定ファイルのパスです。1つのタスクが1つの設定ファイルに対応します。複数のタスクの同時インポートに対応しており、ワイルドカードも使用できます。例:/data/config/*または./config/*.json

2.2.2 --date​

オプションパラメータ--date:任意。データの日付を表すパラメータで、時間マクロはこの基準時刻に基づいて置換されます。省略可能で、省略した場合はデフォルトで現在の日付が使用されます。形式はYYYY-MM-DDです。時間マクロの具体的な使用方法は、時間マクロの使用方法を参照してください

2.3 時間マクロの使用方法​

設定ファイル内では、時間マクロを使って時間パラメータを置換できます。ta-toolツールはインポートの開始時刻を基準に、時間マクロのパラメータに基づいて時間のオフセットを計算し、設定ファイル内の時間マクロを置換します。対応している時間マクロの形式:@[{yyyyMMdd}], @[{yyyyMMdd}-{nday}], @[{yyyyMMdd}+{nday}]など

  • yyyyMMddは、JavaのdateFormatで解析できる任意の日付形式に置き換えられます。例:yyyy-MM-dd HH:mm:ss.SSS, yyyyMMddHH000000

  • nは任意の整数で、時間のオフセット値を表します

  • dayは時間のオフセット単位を表し、次のいずれかを指定できます: day, hour, minute, week, month

  • 例:現在時刻が2018-07-01 15:13:23.234であるとします

    • @[{yyyyMMdd}]は20180701に置換されます
    • @[{yyyy-MM-dd}-{1day}]は2018-06-30に置換されます
    • @[{yyyyMMddHH}+{2hour}]は2018070117に置換されます
    • @[{yyyyMMddHHmm00}-{10minute}]は20180701150300に置換されます

3. 機能の説明​

3.1 設定例​

{
"job": {
"content": [{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "username",
"password": "password",
"connection": [
{
"querySql": [
"SELECT card_id, property1, property2,property3 FROM table1;"
],
"jdbcUrl": [
"jdbc:mysql://ip:port/database"
]
}
]
}
},
"writer": {
"parameter": {
"appid": "6f9e64da5bc74792b9e9c1db4e3e3822",
"column": [{
"type": "string",
"name": "card_id"
},
{
"type": "string",
"name": "property1"
},
{
"type": "string",
"name": "property2"
},
{
"type": "double",
"name": "property3"
}
],
"joinkey":{
"importDataKey": ["card_id"],
"taUserTableKey": ["card_id"]
}
}
}
}]
}
}

3.2 パラメータの説明​

3.2.1 readerセクション​

  • readerの設定は、dataxが対応しているreaderと同じです

dataxドキュメントを参照

3.2.2 writerセクション​

  • appid

    • 説明:対応するプロジェクトのappid。
    • 必須:はい
    • デフォルト値:なし
  • column

    • 説明:読み取るフィールドのリストです。typeでデータのタイプを指定し、nameでreaderの対応する位置の列、つまりAEシステムにインポートする際のプロパティ名を指定します。

ユーザーはColumnフィールドの情報を指定できます。設定は次のとおりです:

[
{
"type": "double",
"name": "property1"
},
{
"type": "string",
"name": "property2"
},
{
"type": "bigint",
"name": "property3"
}
]
  • joinkey.importDataKey

    • 説明:設定情報のwriterのcolumnを関連付けの列名とします。
    • 必須:はい
    • デフォルト値:なし
  • joinkey.taUserTableKey

    • 説明:AEシステムのuserテーブルで関連付けに使用する列名です。
    • 必須:はい
    • デフォルト値:なし

3.3 型変換​

DataX内部型HIVEデータタイプ
LongTINYINT,SMALLINT,INT,BIGINT
DoubleFLOAT,DOUBLE
StringSTRING,VARCHAR,CHAR
BooleanBOOLEAN
DateDATE,TIMESTAMP
このページは役に立ちましたか?