TiDB 出力コンポーネントは、データを TiDB データソースに書き込みます。他のデータソースから TiDB データソースへデータを同期する際には、ソースデータソースの情報を構成した後に、TiDB 出力コンポーネントのターゲットデータソースを構成する必要があります。本トピックでは、TiDB 出力コンポーネントの構成方法について説明します。
前提条件
TiDB データソースを作成しました。詳細については、「TiDB データソースを作成する」をご参照ください。
TiDB 出力コンポーネントのプロパティを構成するアカウントには、データソースに対するライトスルー権限が必要です。権限がない場合は、リクエストしてください。詳細については、「Request, renew, and return data source permissions」をご参照ください。
操作手順
Dataphin ホームページの上部ナビゲーションバーで、[Development] > [Data Integration] を選択します。
統合ページの上部ナビゲーションバーで、[Project] を選択します(Dev-Prod モードの場合は、[Environment] を選択する必要があります)。
左側のナビゲーションウィンドウで、[Batch Pipeline] をクリックし、[Batch Pipeline] リストから開発対象のオフラインパイプラインをクリックして、その構成ページを開きます。
ページ右上隅の [Component Library] をクリックして、[Component Library] パネルを開きます。
[Component Library] パネルの左側ナビゲーションウィンドウで、[Outputs] を選択し、右側の出力コンポーネントリストから [TiDB] コンポーネントを探して、キャンバス上にドラッグします。
ターゲットの入力、変換、またはフローコンポーネントの
アイコンをクリックしてドラッグし、現在の TiDB 出力コンポーネントに接続します。TiDB 出力コンポーネント上の
アイコンをクリックして、[TiDB Output Configuration] ダイアログボックスを開きます。
[TiDB Output Configuration] ダイアログボックスで、パラメーターを構成します。
パラメーター
説明
[Basic Settings]
[Step Name]
TiDB 出力コンポーネントの名前です。Dataphin は自動的にステップ名を生成しますが、ビジネスシナリオに応じて変更できます。名前は以下の要件を満たす必要があります。
使用できる文字は、漢字、英字、アンダースコア (_)、数字のみです。
長さは 64 文字以内である必要があります。
[Datasource]
データソースのドロップダウンリストには、ライトスルー権限があるものとないものを含むすべての TiDB データソースが表示されます。
アイコンをクリックすると、現在のデータソース名をコピーできます。ライトスルー権限がないデータソースについては、そのデータソース横の [Request] をクリックして、ライトスルー権限をリクエストできます。詳細については、「Request data source permissions」をご参照ください。
TiDB データソースがない場合は、[Create Data Source] をクリックして作成します。詳細については、「Create a TiDB data source」をご参照ください。
テーブル
出力データのターゲットテーブルを選択します。 キーワードを入力してテーブルを検索するか、正確なテーブル名を入力して [Exact Match] をクリックできます。テーブルを選択すると、システムが自動的にテーブルのステータスをチェックします。
アイコンをクリックすると、選択したテーブル名をコピーできます。読み込みポリシー
ターゲットテーブルへのデータ書き込みポリシーを選択します。[Loading Policy] には以下が含まれます。
[Append Data (insert Into)]:既存データを変更せずに、ターゲットテーブルの既存データにデータを追加します。プライマリキーまたは制約違反が発生した場合、ダーティデータエラーがレポートされます。
[Overwrite On Primary Key Conflict (replace Into)]:プライマリキーまたは制約違反が発生した場合、システムは重複するプライマリキーを持つ古いデータの行全体を削除した後、新しいデータを挿入します。
[Update On Primary Key Conflict (on Duplicate Key Update)]:プライマリキーまたは制約違反が発生した場合、システムは既存レコードのマッピングされたフィールドのデータを更新します。
[Batch Write Data Size] (オプション)
一度に書き込むデータのサイズです。[Batch Write Count] も設定できます。いずれかの制限に達すると、システムはデータを書き込みます。デフォルト値は 32M です。
[Batch Write Count] (オプション)
デフォルト値は 2048 レコード です。データの同期および書き込み時にはバッチ書き込み戦略が使用され、パラメーターには [Batch Write Count] および [Batch Write Data Size] が含まれます。
蓄積されたデータが設定されたいずれかの制限(バッチ書き込みデータサイズまたはバッチ書き込み件数)に達すると、システムはそのバッチのデータが満杯と判断し、即座にターゲット側に一括して書き込みます。
バッチ書き込みデータサイズは 32 MB に設定することを推奨します。バッチ書き込み件数の制限については、単一レコードの実際のサイズに基づいて柔軟に調整し、通常はバッチ書き込みの利点を十分に活用できるよう大きな値に設定します。たとえば、単一レコードのサイズが約 1 KB の場合、バッチ書き込みデータサイズを 16 MB に設定し、この条件を考慮してバッチ書き込み件数を 16 MB ÷ 1 KB = 16384 レコードより大きい値(ここでは 20000 レコード と仮定)に設定します。この構成により、システムはバッチ書き込みデータサイズに基づいてバッチ書き込み操作をトリガーし、蓄積されたデータが 16 MB に達するたびに書き込み操作を実行します。
[Prepare Statement] (オプション)
データインポート前にデータベースで実行される SQL スクリプトです。
たとえば、サービスの継続的な可用性を確保するために、現在のステップがデータを書き込む前にターゲットテーブル Target_A を作成し、Target_A に書き込みを実行します。現在のステップのデータ書き込みが完了した後、継続的にサービスを提供しているテーブル Service_B を Temp_C にリネームし、次にテーブル Target_A を Service_B にリネームし、最後に Temp_C を削除します。
[End Statement] (オプション)
データインポート後にデータベースで実行される SQL スクリプトです。
フィールドマッピング
入力フィールド
上流コンポーネントの出力に基づいて入力フィールドを表示します。
出力フィールド
出力フィールドを表示します。以下の操作を実行できます。
フィールド管理: [フィールド管理] をクリックして、出力フィールドを選択します。

アイコンをクリックして、[Selected Input Fields] を [Unselected Input Fields] に移動します。
アイコンをクリックして、[Unselected Input Fields] を [Selected Input Fields] に移動します。
一括追加: [一括追加] をクリックして、JSON、TEXT、または DDL 形式で設定します。
JSON 形式での構成例:
// Example: [{ "name": "user_id", "type": "String" }, { "name": "user_name", "type": "String" }]説明name はインポートするフィールドの名前を指定し、type はインポート後のフィールドのデータの型を指定します。たとえば、
"name":"user_id","type":"String"は user_id という名前のフィールドをインポートし、そのデータの型を String に設定します。TEXT 形式での構成例:
// Example: user_id,String user_name,String行区切り文字は各フィールドの情報を区切るために使用され、デフォルトは改行 (\n) です。改行 (\n)、セミコロン (;)、ピリオド (.) に対応しています。
列区切り文字はフィールド名とフィールドの型を区切るために使用され、デフォルトはカンマ (,) です。
DDL 形式での構成例:
CREATE TABLE tablename ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
新規出力フィールドの作成:[+Create New Output Field] をクリックし、プロンプトに従って [Column] に記入し、[Type] を選択します。現在行の構成が完了したら、
アイコンをクリックして保存します。
マッピング
上流の入力およびターゲットテーブルのフィールドに基づき、手動でフィールドマッピングを選択できます。[Quick Mapping] には [Same Row Mapping] および [Same Name Mapping] が含まれます。
Same Name Mapping:同じ名前のフィールドをマッピングします。
Same Row Mapping:ソーステーブルとターゲットテーブルのフィールド名が異なるが、対応する行のデータをマッピングする必要がある場合に、同じ行のフィールドをマッピングします。
[OK] をクリックして、TiDB 出力コンポーネント のプロパティ構成を完了します。