AnalyticDB for MySQL 3.0 出力コンポーネントは、データを MySQL データソースに書き込みます。他のデータソースから AnalyticDB for MySQL 3.0 データソースにデータを同期する場合、ソースデータソースを設定した後、AnalyticDB for MySQL 3.0 出力コンポーネントでターゲットデータソースを設定する必要があります。このトピックでは、AnalyticDB for MySQL 3.0 出力コンポーネントの設定方法について説明します。
前提条件
AnalyticDB for MySQL 3.0 データソースが作成されていること。詳細については、「AnalyticDB for MySQL 3.0 データソースの作成」および「」をご参照ください。
AnalyticDB for MySQL 3.0 出力コンポーネントを設定するために使用するアカウントには、ターゲットデータソースに対するリードスルー権限が必要です。アカウントにこの権限がない場合は、権限をリクエストしてください。詳細については、「データソース権限のリクエスト」をご参照ください。
操作手順
Dataphin のホームページの上部のメニューバーで、[開発] をクリックし、次に [データ統合] をクリックします。
[データ統合] ページの上部のメニューバーで、[プロジェクト] を選択します。Dev-Prod モードでは、代わりに [環境] を選択します。
左側のナビゲーションウィンドウで、[バッチパイプライン] をクリックします。[バッチパイプライン] リストで、開発したいオフラインパイプラインをクリックします。オフラインパイプラインの設定ページが開きます。
ページの右上隅にある [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで、[出力] をクリックします。右側の出力コンポーネントリストで、[AnalyticDB for MySQL 3.0] コンポーネントを見つけてキャンバスにドラッグします。
ターゲットの入力、変換、またはフローコンポーネントから
アイコンをクリックしてドラッグし、AnalyticDB for MySQL 3.0 出力コンポーネントに接続します。AnalyticDB for MySQL 3.0 出力コンポーネントカードの
アイコンをクリックして、[AnalyticDB for MySQL 3.0 出力設定] ダイアログボックスを開きます。
[AnalyticDB for MySQL 3.0 出力設定] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
基本設定
ステップ名
AnalyticDB for MySQL 3.0 出力コンポーネントの名前です。Dataphin は自動的にステップ名を生成します。ビジネスシナリオに基づいて変更できます。以下の命名規則を使用してください:
漢字、英字、アンダースコア (_)、数字のみを使用してください。
64 文字以内で入力してください。
データソース
ドロップダウンリストには、すべての AnalyticDB for MySQL 3.0 データソースが表示されます。これには、ライトスルー権限があるデータソースとないデータソースが含まれます。
アイコンをクリックして、現在のデータソース名をコピーします。データソースに対するライトスルー権限がない場合は、データソースの横にある [リクエスト] をクリックして権限をリクエストします。詳細については、「データソース権限のリクエスト、更新、または解放」をご参照ください。
AnalyticDB for MySQL 3.0 データソースがない場合は、[データソースの作成] をクリックして作成します。詳細については、「AnalyticDB for MySQL 3.0 データソースの作成」をご参照ください。
タイムゾーン
時間形式のデータは、現在のタイムゾーンに従って処理されます。デフォルトでは、選択したデータソースに設定されているタイムゾーンと一致します。この設定は変更できません。
説明バージョン V5.1.2 より前に作成されたタスクでは、[データソースのデフォルト設定] または [チャネルタイムゾーン] のいずれかを選択します。デフォルトは [チャネルタイムゾーン] です。
[データソースのデフォルト設定]:選択したデータソースのデフォルトのタイムゾーン。
[チャネル タイムゾーン]: 「プロパティ」 > 「チャネル構成」で現在の統合タスクに設定されたタイムゾーンです。
テーブル
出力データのターゲットテーブルを選択します。キーワードを入力してテーブル名を検索するか、正確なテーブル名を入力して [完全一致検索] をクリックします。テーブルを選択すると、システムが自動的にそのステータスを確認します。
アイコンをクリックして、選択したテーブル名をコピーします。ターゲットテーブルが AnalyticDB for MySQL 3.0 データソースに存在しない場合は、ワンクリックテーブル作成機能を使用して迅速に生成します。以下の手順に従ってください:
[テーブルの作成] をクリックします。Dataphin は、ターゲットテーブルを作成するための SQL スクリプトを自動的に生成します。これには、テーブル名 (デフォルト:ソーステーブル名) とフィールドタイプ (Dataphin フィールドに基づいて予備的に変換) が含まれます。
必要に応じて生成された SQL スクリプトを修正し、[作成] をクリックします。テーブルが作成されると、Dataphin はそれを出力データのターゲットテーブルとして使用します。
説明開発環境に同じ名前のテーブルが存在する場合、[作成] をクリックすると、テーブルが既に存在するというエラーが返されます。
本番テーブルが見つからない場合のポリシー
本番テーブルが存在しない場合に実行する操作です。[アクションなし] または [自動作成] を選択します。デフォルトは [自動作成] です。[アクションなし] を選択した場合、タスクは本番テーブルを作成せずに公開されます。[自動作成] を選択した場合、タスクは公開中にターゲット環境に同じ名前のテーブルを作成します。
[アクションなし]:ターゲットテーブルが存在しない場合、システムは送信時に警告を表示しますが、公開は許可されます。タスクを実行する前に、本番環境でターゲットテーブルを手動で作成する必要があります。
[自動作成]:[CREATE TABLE 文] を編集します。デフォルトの文は選択したテーブルと一致します。これを調整できます。文中のテーブル名はプレースホルダー
${table_name}を使用します。このプレースホルダーのみがサポートされています。ランタイム時に、実際のテーブル名に置き換えられます。ターゲットテーブルが存在しない場合、Dataphin はまず CREATE TABLE 文を実行します。テーブルの作成に失敗した場合、公開は失敗します。エラーメッセージに基づいて文を修正し、再度公開してください。ターゲットテーブルが既に存在する場合、Dataphin はテーブルの作成をスキップします。
説明この設定は、Dev-Prod モードのプロジェクトでのみ使用できます。
読み込みポリシー
ターゲットテーブルにデータを書き込むためのポリシーを選択します。[ロードポリシー] のオプションは次のとおりです:
[データを追加 (INSERT INTO)]:既存データを変更せずに、ターゲットテーブルの既存データにデータを追加します。プライマリキーまたは制約の競合が発生した場合、ダーティデータエラーが発生します。
[プライマリキーが競合した場合に置換 (REPLACE INTO)]:重複するプライマリキーまたは制約を持つ行全体を削除し、新しいデータを挿入します。
[プライマリキーが競合した場合に更新 (ON DUPLICATE KEY UPDATE)]:プライマリキーまたは制約の競合が発生した場合に、既存のレコードのマッピングされたフィールドを更新します。
バッチ書き込みサイズ (任意)
1 回のバッチで書き込まれるデータのサイズです。[バッチ書き込み件数] も設定できます。書き込み操作中、いずれかの制限に達すると、システムはデータを書き込みます。デフォルトは 32 MB です。
バッチ書き込み件数 (任意)
デフォルトは 2,048 行です。データ同期はバッチ書き込み戦略を使用します。パラメーターには [バッチ書き込み件数] と [バッチ書き込みサイズ] が含まれます。
蓄積されたデータ量がバッチ書き込みサイズまたはバッチ書き込み件数のいずれかの制限に達すると、システムはそれを完全なバッチと見なし、すぐに宛先に書き込みます。
バッチ書き込みサイズを 32 MB に設定します。平均レコードサイズに基づいてバッチ書き込み件数を調整します。バッチ効率を最大化するために、より大きな値を使用します。たとえば、各レコードが約 1 KB の場合、バッチ書き込みサイズを 16 MB に設定します。次に、バッチ書き込み件数を 16,384 (16 MB ÷ 1 KB) 以上に設定します。ここでは、20,000 行を使用します。この設定では、蓄積されたデータが 16 MB に達すると、システムはバッチ書き込みをトリガーします。
事前 SQL スクリプト (任意)
データインポート前にデータベースで実行する SQL スクリプトです。
たとえば、サービスの可用性を維持するために、次の手順を実行します:まず、ターゲットテーブル Target_A を作成します。次に、データを Target_A に書き込みます。書き込みが完了したら、サービス中のテーブル Service_B の名前を Temp_C に変更します。次に、Target_A の名前を Service_B に変更します。最後に、Temp_C を削除します。
事後 SQL スクリプト (任意)
データインポート後にデータベースで実行する 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) です。他のオプションはセミコロン (;) とピリオド (.) です。
列区切り文字はフィールド名とフィールドタイプを区切ります。デフォルトはカンマ (,) です。
DDL 形式の例:
CREATE TABLE tablename ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
出力フィールドの作成:[+ 出力フィールドの作成] をクリックします。[列] 名を入力し、[タイプ] を選択します。
アイコンをクリックして行を保存します。
マッピング
上流の入力フィールドとターゲットテーブルのフィールドを手動でマッピングします。[マッピング] のオプションには、[行ベースのマッピング] と [名前ベースのマッピング] があります。
名前ベースのマッピング:同じ名前のフィールドをマッピングします。
行ベースのマッピング:ソースとターゲットのフィールド名が異なる場合に、位置によってフィールドをマッピングします。
[確認] をクリックして、[AnalyticDB for MySQL 3.0] 出力コンポーネントの設定を完了します。