TDSQL for MySQL 出力コンポーネントは、TDSQL for MySQL データソースにデータを書き込みます。他のデータソースから TDSQL for MySQL データソースにデータを同期する場合、ソースデータソース情報を設定した後、TDSQL for MySQL 出力コンポーネントのターゲットデータソースを設定する必要があります。このトピックでは、TDSQL for MySQL 出力コンポーネントの設定方法について説明します。
前提条件
TDSQL for MySQL データソースが作成されていること。詳細については、「TDSQL for MySQL の作成」をご参照ください。
TDSQL for MySQL 出力コンポーネントのプロパティを設定するために使用するアカウントには、データソースに対するライトスルー権限が必要です。権限がない場合は、データソース権限をリクエストする必要があります。詳細については、「データソース権限のリクエスト、更新、返却」をご参照ください。
操作手順
Dataphin ホームページの上部ナビゲーションバーで、[開発] > [データ統合] を選択します。
Integration ページのトップナビゲーションバーで、プロジェクトを選択します (Dev-Prod モードでは、環境を選択する必要があります)。
左側のナビゲーションウィンドウで [バッチパイプライン] をクリックします。[バッチパイプライン] リストで、開発したいオフラインパイプラインをクリックして、その設定ページを開きます。
ページの右上隅にある [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで [出力] を選択します。右側の出力コンポーネントリストから [TDSQL for MySQL] コンポーネントを見つけ、キャンバスにドラッグします。
ターゲットの入力、変換、またはフローコンポーネントの
アイコンをクリックしてドラッグし、現在の TDSQL for MySQL 出力コンポーネントに接続します。TDSQL for MySQL 出力コンポーネントカードの
アイコンをクリックして、[TDSQL for MySQL 出力設定] ダイアログボックスを開きます。
[TDSQL For MySQL 出力設定] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
[基本設定]
ステップ名
TDSQL for MySQL 出力コンポーネントの名前。Dataphin は自動的にステップ名を生成しますが、ビジネスシナリオに基づいて変更できます。名前は以下の要件を満たす必要があります:
漢字、英字、アンダースコア (_)、数字のみを含めることができます。
長さは 64 文字を超えることはできません。
データソース
データソースのドロップダウンリストには、ライトスルー権限を持つものと持たないものを含む、すべての TDSQL for MySQL データソースが表示されます。
アイコンをクリックして、現在のデータソース名をコピーします。ライトスルー権限がないデータソースについては、データソースの横にある [リクエスト] をクリックしてライトスルー権限をリクエストできます。詳細については、「データソース権限のリクエスト、更新、返却」をご参照ください。
TDSQL for MySQL データソースがない場合は、[データソースの作成] をクリックして作成します。詳細については、「TDSQL for MySQL の作成」をご参照ください。
[データベース] (任意)
テーブルが配置されているデータベースを選択します。データベースを指定しない場合、データソースの登録時に指定されたデータベースが使用されます。
テーブル
出力データのターゲットテーブルを選択します。キーワードを入力してテーブルを検索するか、正確なテーブル名を入力して [完全一致] をクリックします。テーブルを選択すると、システムは自動的にテーブルのステータスをチェックします。
アイコンをクリックして、選択したテーブルの名前をコピーします。データ同期のターゲットテーブルが TDSQL for MySQL データソースに存在しない場合、ワンクリックテーブル作成機能を使用してターゲットテーブルを迅速に生成できます。以下の手順を実行します:
[ワンクリックテーブル作成] をクリックします。Dataphin は、ターゲットテーブル名 (デフォルトはソーステーブル名)、フィールドタイプ (Dataphin フィールドに基づいて初期変換)、およびその他の情報を含む、ターゲットテーブルを作成するためのコードを自動的に照合します。
必要に応じてターゲットテーブルを作成するための SQL スクリプトを変更し、[作成] をクリックします。
ターゲットテーブルが正常に作成されると、Dataphin は新しく作成されたテーブルを出力データのターゲットテーブルとして自動的に設定します。ワンクリックテーブル作成は、開発環境および本番環境でデータ同期用のターゲットテーブルを作成するために使用されます。Dataphin はデフォルトで本番環境でのテーブル作成を選択します。同じ名前と構造のテーブルが本番環境にすでに存在する場合、本番環境でのテーブル作成を選択する必要はありません。
説明開発環境または本番環境に同じ名前のテーブルが存在する場合、[作成] をクリックすると、Dataphin はテーブルがすでに存在することを示すエラーを報告します。
一致する項目がない場合でも、手動でテーブル名を入力することで統合を実行できます。
読み込みポリシー
ターゲットテーブルにデータを書き込むためのポリシーを選択します。[ロードポリシー] には以下が含まれます:
[データの追加 (insert Into)]:既存データを変更せずに、ターゲットテーブルの既存データにデータを追加します。プライマリキー/制約の競合が発生した場合、ダーティデータエラーが報告されます。
[プライマリキー競合時に上書き (replace Into)]:プライマリキー/制約の競合が発生した場合、重複するプライマリキーを持つ古いデータの行全体をまず削除し、その後新しいデータを挿入します。
[プライマリキー競合時に更新 (on Duplicate Key Update)]:プライマリキー/制約の競合が発生した場合、マッピングされたフィールドのデータを既存のレコードで更新します。
[バッチ書き込みデータ量] (任意)
一度に書き込むデータのサイズ。[バッチ書き込みレコード数] も設定できます。システムは、設定されたいずれかの制限に達した時点でデータを書き込みます。デフォルトは 32 M です。
レコードのバッチ書き込み(任意)
デフォルトは 2048 レコードです。データが同期されて書き込まれる際、[バッチ書き込みレコード数] と [バッチ書き込みデータ量] を含むバッチ書き込み戦略が使用されます。
蓄積されたデータ量が設定されたいずれかの制限 (つまり、バッチ書き込みデータ量またはレコード数の制限) に達すると、システムはデータのバッチが満たされたとみなし、このバッチのデータを直ちにターゲットエンドに一度に書き込みます。
バッチ書き込みデータ量を 32 MB に設定することを推奨します。バッチ挿入レコード数の制限については、単一レコードの実際のサイズに基づいて柔軟に調整でき、通常はバッチ書き込みの利点を最大限に活用するために大きな値に設定します。例えば、単一レコードのサイズが約 1 KB の場合、バッチ挿入のバイトサイズを 16 MB に設定し、この条件を考慮して、バッチ挿入のレコード数を 16 MB を単一レコードサイズ 1 KB で割った結果 (つまり 16384 レコード) よりも大きい値、例えば 20000 レコードに設定できます。この設定により、システムはバッチ挿入のバイトサイズに基づいてバッチ書き込みをトリガーし、蓄積されたデータ量が 16 MB に達するたびに書き込み操作を実行します。
[準備ステートメント] (任意)
データインポート前にデータベースで実行される SQL スクリプト。
例えば、継続的なサービスの可用性を確保するために、現在のステップがデータを書き込む前に、まずターゲットテーブル Target_A を作成し、Target_A への書き込みを実行します。現在のステップがデータの書き込みを完了した後、継続的にサービスを提供しているテーブル Service_B を Temp_C に名前変更し、次に Target_A を Service_B に名前変更し、最後に Temp_C を削除します。
[終了ステートメント] (任意)
データインポート後にデータベースで実行される SQL スクリプト。
フィールド マッピング
[入力フィールド]
上流コンポーネントの出力に基づいて入力フィールドを表示します。
出力フィールド
出力フィールドを表示します。以下の操作を実行できます:
フィールド管理:[フィールド管理] をクリックして出力フィールドを選択します。

アイコンをクリックして、[選択された入力フィールド] を [未選択の入力フィールド] に移動します。
アイコンをクリックして、[未選択の入力フィールド] を [選択された入力フィールド] に移動します。
バッチ追加:[バッチ追加] をクリックして、JSON、TEXT、または DDL フォーマットで設定します。
JSON フォーマットでのバッチ設定例:
// 例: [{ "name": "user_id", "type": "String" }, { "name": "user_name", "type": "String" }]説明name はインポートされたフィールド名を表し、type はインポート後のフィールドタイプを表します。例えば、
"name":"user_id","type":"String"は、user_id という名前のフィールドをインポートし、そのフィールドタイプを String に設定することを意味します。TEXT フォーマットでのバッチ設定例:
// 例: user_id,String user_name,String行区切り文字は、各フィールドの情報を区切るために使用されます。デフォルトは改行 (\n) です。サポートされている区切り文字には、改行 (\n)、セミコロン (;)、ピリオド (.) があります。
列区切り文字は、フィールド名とフィールドタイプを区切るために使用されます。デフォルトはカンマ (,) です。
DDL フォーマットでのバッチ設定例:
CREATE TABLE tablename ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
新しい出力フィールドを作成:[+新しい出力フィールドを作成] をクリックし、プロンプトに従って [列] を入力し、[型] を選択します。現在の行の設定が完了したら、
アイコンをクリックして保存します。
[マッピング]
上流の入力とターゲットテーブルのフィールドに基づいて、手動でフィールドマッピングを選択できます。[マッピング] には [同一行マッピング] と [同一名マッピング] が含まれます。
同一名マッピング:同じ名前のフィールドをマッピングします。
同一行マッピング:ソーステーブルとターゲットテーブルのフィールド名が一致しないが、対応する行のデータをマッピングする必要がある場合に、同じ行のフィールドをマッピングします。
[OK] をクリックして、[TDSQL for MySQL] 出力コンポーネントのプロパティ設定を完了します。