DM(DaMeng)出力コンポーネントを設定することで、外部データベースから読み取ったデータを DM(DaMeng)に書き込んだり、ビッグデータプラットフォームと接続されたストレージシステムからデータをコピー・プッシュして、DM(DaMeng)でデータ統合および再処理を行うことができます。本トピックでは、DM(DaMeng)出力コンポーネントの設定方法について説明します。
前提条件
DM(ダメン)データソースを作成しました。詳細については、「」をご参照ください。「DM(ダメン)データソースの作成」をご参照ください。
DM(DaMeng)出力コンポーネントのプロパティを設定する際に使用するアカウントには、対象データソースに対するライトスルー権限が必要です。権限がない場合は、データソースの権限申請を行ってください。詳細については、「データソース権限の申請、更新、返却」をご参照ください。
操作手順
Dataphin のホームページ上部ナビゲーションバーで、[開発] → [データ統合] を選択します。
統合ページの上部ナビゲーションバーで、[プロジェクト] を選択します(Dev-Prod モードの場合は、[環境] を選択します)。
左側のナビゲーションウィンドウで [Batch Pipeline] をクリックし、次に [Batch Pipeline] リストで開発するオフラインパイプラインをクリックして、オフラインパイプラインの構成ページを開きます。
ページ右上隅の [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側ナビゲーションウィンドウで、[出力] を選択し、右側の出力コンポーネント一覧から [DM] コンポーネントを見つけ、キャンバスにドラッグします。
対象となる入力・変換・フローコンポーネントの
アイコンをクリックしてドラッグし、現在の DM 出力コンポーネントに接続します。DM 出力コンポーネント上で
アイコンをクリックして、[DAMENG 出力構成] ダイアログボックスを開きます。
[DaMeng 出力構成] ダイアログボックスで、以下の表に従ってパラメーターを設定します。
パラメーター
説明
基本設定
ステップ名
DM 出力コンポーネントの名称です。Dataphin が自動的にステップ名を生成しますが、ビジネスシナリオに応じて変更可能です。名称は以下の要件を満たす必要があります:
漢字、英字、アンダースコア(_)、数字のみ使用可能。
文字数は最大 64 文字まで。
データソース
データソースのドロップダウンリストには、ライトスルー権限を持つものおよび持たないものを含むすべての DM(DaMeng)型データソースが表示されます。現在のデータソース名をコピーするには、
アイコンをクリックします。ライトスルー権限を持たないデータソースについては、データソース名の後に [リクエスト] をクリックして権限を申請できます。詳細については、「データソース権限の申請、更新、返却」をご参照ください。
DM(DaMeng)型データソースが存在しない場合は、[データソースの作成] をクリックして新規作成してください。詳細については、「DaMeng(DM)データソースの作成」をご参照ください。
テーブル
出力データの送信先テーブルを選択します。キーワードを入力してテーブルを検索するか、正確なテーブル名を入力して [完全一致] をクリックできます。テーブルを選択すると、システムが自動的にテーブルの状態を確認します。選択したテーブル名をコピーするには、
アイコンをクリックします。データ同期の送信先テーブルが DM データソースに存在しない場合、[ワンクリックテーブル作成] 機能を使用して、送信先テーブルを迅速に生成できます。詳細な手順は以下のとおりです:
[ワンクリックテーブル作成] をクリックします。Dataphin は、送信先テーブル名(デフォルトでソーステーブル名)、フィールド型(Dataphin のフィールドに基づいて初期変換)、その他の情報を含む SQL スクリプトを自動生成します。
必要に応じて、送信先テーブル作成用の SQL スクリプトを編集し、[作成] をクリックします。
送信先テーブルの作成が成功すると、Dataphin は自動的に新しく作成されたテーブルを出力データの送信先テーブルとして設定します。「ワンクリックテーブル作成」は、開発環境および本番環境におけるデータ同期向け送信先テーブルの作成に使用されます。Dataphin はデフォルトで [本番環境でテーブルを作成] を選択します。本番環境に同名・同構造のテーブルが既に存在する場合は、このオプションを選択する必要はありません。
説明開発環境または本番環境に同名のテーブルが存在する場合、[作成] をクリックすると「テーブルが既に存在します」というエラーが報告されます。
ローディングポリシー
送信先テーブルへのデータ書き込み戦略を選択します。[ローディングポリシー] には以下が含まれます:
[データ追加(INSERT INTO)]:プライマリキー/制約の競合が発生した場合、ダーティデータエラーが報告されます。
[プライマリキー競合時の更新(MERGE INTO)]:プライマリキー/制約の競合が発生した場合、対応するフィールドのデータが既存レコード上で更新されます。
同期書き込み
プライマリキー更新構文はアトミック操作ではありません。書き込むデータに 重複するプライマリキーが存在する場合、同期書き込みを有効化する必要があります。それ以外の場合は並列書き込みが使用されます。同期書き込みは並列書き込みと比較してパフォーマンスが低くなります。
説明このオプションは、ローディングポリシーが [プライマリキー競合時の更新] に設定されている場合のみ利用可能です。
バッチ書き込みデータ量(任意)
一度に書き込むデータのサイズです。[バッチ書き込み件数] も設定可能です。いずれかの上限に達した時点で、システムがデータを書き込みます。デフォルト値は 32 MB です。
バッチ書き込み件数(任意)
デフォルト値は 2048 件 です。データ同期および書き込み時にはバッチ書き込み戦略が採用されます。関連するパラメーターには [バッチ書き込み件数] および [バッチ書き込みデータ量] があります。
累積データ量がいずれかの設定上限(バッチ書き込みデータ量または件数)に達した時点で、システムは1バッチ分のデータが満杯になったと判断し、即座にそのバッチを送信先に一括書き込みます。
バッチ書き込みデータ量は、推奨値として 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] をクリックして、[DaMeng 出力コンポーネント] のプロパティ設定を完了します。