Greenplum 出力コンポーネントは、外部データベースから Greenplum へデータを書き込みます。また、ビッグデータプラットフォームに接続されたストレージシステムから Greenplum へデータをコピーおよびプッシュし、統合および再処理を行う場合にも本コンポーネントを使用できます。本トピックでは、Greenplum 出力コンポーネントの設定方法について説明します。
前提条件
Greenplum データソースが作成されました。詳細については、「Greenplum データソースを作成する」をご参照ください。
Greenplum 出力コンポーネントを設定する際に使用するアカウントには、対象データソースに対するリードスルー権限が必要です。該当権限がない場合は、データソース管理者に権限付与を依頼してください。詳細については、「データソース権限の申請」をご参照ください。
操作手順
Dataphin のホームページ上部のメニューバーから、[開発] → [データ統合] を選択します。
統合ページ上部のメニューバーから、[プロジェクト] を選択します。Dev-Prod モードで運用している場合は、[環境] も併せて選択します。
左側のナビゲーションウィンドウで、[バッチパイプライン] をクリックします。[バッチパイプライン] 一覧から、対象のオフラインパイプラインをクリックして、その構成ページを開きます。
ページ右上隅の [コンポーネントライブラリ] をクリックし、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネル左側のナビゲーションウィンドウで、[出力] を選択します。右側の出力コンポーネント一覧より [Greenplum] コンポーネントを検索し、キャンバス上へドラッグします。
ソース入力、変換、またはフローコンポーネントの
アイコンをクリック・ドラッグして、Greenplum 出力コンポーネントと接続します。Greenplum 出力コンポーネントカード上の
アイコンをクリックし、[Greenplum 出力構成] ダイアログボックスを開きます。
「[Greenplum] [出力設定]」ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
基本設定
ステップ名
Greenplum 出力コンポーネントの名称です。Dataphin が自動的に名称を生成しますが、必要に応じて変更可能です。命名規則は以下のとおりです:
漢字、英字、アンダースコア(_)、数字のみ使用可能。
最大文字数は 64 文字です。
データソース
ドロップダウンリストには、すべての Greenplum データソースが表示されます。これは、ライトスルー権限を持つデータソースおよび持たないデータソースの両方を含みます。
ライトスルー権限を持たないデータソースについては、データソース横の [リクエスト] をクリックして権限を申請してください。詳細については、「データソース権限の申請」をご参照ください。
Greenplum データソースが未作成の場合は、
アイコンをクリックして新規作成してください。詳細については、「Greenplum データソースの作成」をご参照ください。
スキーマ
データベースからスキーマを選択します。このパラメーターは必須です。データソースの接続文字列に既にスキーマ情報が含まれている場合は、デフォルトでそのスキーマが使用されます。また、権限のある他のスキーマを選択することも可能です。
テーブル
出力データの宛先テーブルを選択します。
Greenplum データソース内にデータ同期用の宛先テーブルが存在しない場合、ワンクリックテーブル作成機能を活用して迅速に作成できます。手順は以下のとおりです:
[ワンクリックテーブル作成] をクリックします。Dataphin が、ターゲットテーブル名(デフォルトはソーステーブル名)、フィールド型(Dataphin のフィールドに基づき初期変換)、その他の情報を含むテーブル作成用 SQL スクリプトを自動生成します。以下に例を示します:

必要に応じて SQL スクリプトを編集し、[作成] をクリックします。
宛先テーブルが作成されると、Dataphin は自動的にそれを出力データの宛先テーブルとして設定します。ワンクリックテーブル作成機能は、開発環境および本番環境におけるデータ同期向け宛先テーブルの作成に使用されます。デフォルトでは、Dataphin が本番環境へのテーブル作成オプションを選択します。ただし、本番環境に同名かつ同一構造のテーブルが既に存在する場合は、このオプションを選択する必要はありません。
説明開発環境または本番環境に同名のテーブルが既に存在する場合、[作成] をクリックするとエラーが報告されます。
ローディングポリシー
オプションを選択します。有効な値は [データ追加] および [copy] です。
[データ追加]:プライマリキーの競合または制約違反が発生した場合、ダーティデータエラーが報告されます。
[copy ポリシー]:選択された競合解決ポリシーに基づいて処理が実行されます。このポリシーは、ビューではなくテーブルに対してのみサポートされます。
競合解決ポリシー
[ローディングポリシー] を [copy] に設定した場合に必須です。Greenplum では [競合時にエラー] のみがサポートされています。
バッチ書き込みデータ量(任意)
1 回のバッチ書き込みで処理するデータ量です。[バッチ書き込み件数] も併せて設定可能です。システムは、指定されたデータ量または行数のいずれか一方が最初に達した時点で書き込みを実行します。デフォルト値: 32 MB。
バッチ書き込み件数(任意)
デフォルト値: 2048。データ同期中はバッチ書き込みポリシーが適用されます。関連パラメーターには [バッチ書き込み件数] および [バッチ書き込みデータ量] があります。
累積データが、指定されたデータ量または行数のいずれか一方の上限に達した時点で、バッチが満杯と見なされ、即座に宛先へ書き込まれます。
バッチ書き込みデータ量を 32 MB に設定します。バルク挿入時の最大行数は、1 件あたりのレコードサイズに基づいて調整してください。バッチ書き込みのメリットを最大化するために、このパラメーターの値は大きく設定することを推奨します。たとえば、1 件あたりのレコードサイズが約 1 KB の場合、バッチ挿入サイズを 16 MB に設定できます。この場合、バッチ挿入件数は「16 MB ÷ 1 KB(16,384)」を超える値に設定します。たとえば、20,000 と設定します。この構成により、システムはバッチ挿入サイズに基づいてバッチ書き込みをトリガーし、累積データ量が 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`)ですが、セミコロン(`;`)やピリオド(`.`)も使用可能です。
列区切り文字は、フィールド名とフィールドの型を区切ります。デフォルトの区切り文字はカンマ(`,`)です。
DDL 形式での設定方法:
CREATE TABLE tablename ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
新しい出力フィールドの作成: [+新しい出力フィールドを作成] をクリックします。[列] 名を入力し、[型] を選択します。現在の行の設定を完了したら、
アイコンをクリックして設定を保存します。
フィールドマッピング
上流の入力フィールドと宛先テーブルのフィールドとの間で、手動でマッピングを選択します。[クイックマッピング] では、[行マッピング] および [名前マッピング] のオプションが提供されます。
[名前マッピング]:名称が一致するフィールドをマッピングします。
[行マッピング]:同じ行にあるフィールドをマッピングします。ソーステーブルと宛先テーブルのフィールド名が異なるが、対応する行のデータをマッピングする必要がある場合に使用します。
[確認] をクリックして、設定を保存します。