目录
此内容是否有帮助?

# 外部ユーザ属性アソシエーションインポート機能

# 一、紹介する

場合によっては、外部のユーザーデータを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解析できる任意の日付形式に置き換えることができます。SSSSSSSSS
  • 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と一致する

dataxドキュメントを参照

# 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
ブール型
ブーリアン
日付
日付、タイムスタンプ