# 外部ユーザ属性アソシエーションインポート機能
# 一、紹介する
場合によっては、外部のユーザーデータをTEクラスターにインポートする必要がありますが、データ内のユーザーIDは、TEシステムの#account_idまたは#distinct_idではありません。たとえば、データは携帯電話番号、ID番号、またはその他のID IDをプライマリキーとして使用します。この部分のデータをユーザー属性としてTEシステムにインポートする必要がある場合は、update_user_by_foreignkey
コマンドで関連関係を設定し、外部のユーザー属性をTEシステムに更新し、現在dataxしているすべてのデータソース:
# 二、使用方法
# 2.1コマンド説明
データインポートのコマンドは次のとおりです。
ta-tool update_user_by_foreignkey -conf <config files> [--date xxx]
# 2.2コマンドパラメータの説明
# 2.2.1-conf
渡されたパラメータはインポートタスクの構成ブックパスで、各タスクは1つの構成ブックで、複数のタスクの同時インポートをサポートし、ワイルドカードの方式をサポートしています/data/config/*
または./config/*. json
# 2.2.1-日付
オプションパラメータ**--date**:オプション、パラメータはデータの日付を表し、時間マクロはこの基準時間に基づいて置換され、伝達されない場合はデフォルトで現在の日付を取り、形式はYYYY-MM-DD
、時間マクロの具体的な使用方法は、時間マクロの使用方法を参考時間マクロの使用方法
# 2.3タイムマクロの使用方法
構成テキストの内部で時間マクロを使用して時間パラメータを置き換えることができ、ta-toolツールはインポートした開始時間を基準にして、時間マクロのパラメータに基づいて時間のオフセット計算を行い、構成テキストの時間マクロを置き換えて、サポートする時間マクロ形式:@[{yyyyMMdd}]
、@[{yyyyMMdd}-{nday}]
、@[{yyyMMdd}+{nday}]
など
yyyMMdd
は、JavadateFormat
解析できる任意の日付形式に置き換えることができます。SSS
SSSSSS
- nは任意の整数であり、時間のオフセット値
- dayは時間のオフセット単位を表し、以下のように
取る
ことできる
、時間
、分
、月
- 例:現在の時刻を仮定し
ます
@[{yyyMMdd}}]
置換は20180701
@[{yyyy-MM-dd}-{1day}]
に置き換え置き換え
@[{yyyMMddHH}+{2hour}]
に置き換えます
@[{yyyyMMddHHmm00}-{10minute}]
置き換えて20180701150300
# 三、機能説明
# 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と一致する
# 3.2.2 writerパート
- appid
- 説明:対応項目のappid。
- 必須:はい
- デフォルト:なし
- コラム
- 説明:読み取りフィールドリスト、
type
指定データのタイプ、name
指定reader対応位置の列、TEシステムをインポートするときの属性名。
- 説明:読み取りフィールドリスト、
ユーザーはColumnColumn
フィールド情報を指定できます。
[
{
"type": "double",
"name": "property1"
},
{
"type": "string",
"name": "property2"
},
{
"type": "bigint",
"name": "property3"
}
]
- joinkey.importDataKey
- 説明:設定情報の中のwriterのcolumnを関連する列名とする。
- 必須:はい
- デフォルト:なし
- joinkey.taUserTableKey
- 説明: TEシステムのuserテーブルは、関連する列名として使用されます。
- 必須:はい
- デフォルト:なし
# 3.3タイプ変換
DataX内部型 | HIVEデータ型 |
---|---|
ロング | TINYINT, SMALLINT, INT, BIGINT |
ダブル | フロート、ダブル |
弦 | ストリング、VARCHAR、CHAR |
ブール型 | ブーリアン |
日付 | 日付、タイムスタンプ |