KingbaseES 出力コンポーネントは、KingbaseES データソースにデータを書き込みます。他のデータソースから KingbaseES データソースにデータを同期する場合、ソースデータソース情報と、書き込み先の KingbaseES データソースの両方を構成する必要があります。このトピックでは、KingbaseES 出力コンポーネントを構成する方法について説明します。
前提条件
KingbaseES データソースを追加済みであること。詳細については、「KingbaseES データソースを作成する」をご参照ください。
KingbaseES 出力コンポーネントのプロパティを構成するために使用するアカウントに、データソースに対するライトスルー権限が付与されていること。この権限がない場合は、リクエストする必要があります。詳細については、「データソース権限をリクエストする」をご参照ください。
手順
Dataphin ホームページの上部ナビゲーションバーで、[開発] > [Data Integration] を選択します。
プロジェクト環境統合ページの上部ナビゲーションバーで、 を選択します(開発-本番モードでは、 を選択する必要があります)。
左側のナビゲーションウィンドウで、[バッチパイプライン]重要: をクリックし、[バッチパイプライン] リストで開発するオフラインパイプラインをクリックして、オフラインパイプラインの構成ページを開きます。
ページの右上隅にある [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで、[出力] を選択し、右側の出力コンポーネントリストで [KingbaseES] コンポーネントを見つけて、キャンバスにドラッグします。
対象の入力、変換、またはフローコンポーネントの
アイコンをクリックしてドラッグし、現在の KingbaseES 出力コンポーネントに接続します。
KingbaseES 出力コンポーネントカードの
アイコンをクリックして、[KingbaseES 出力構成] ダイアログボックスを開きます。
[KingbaseES 出力構成] ダイアログボックスで、パラメーターを構成します。
パラメーター
説明
[基本設定]
[ステップ名]
KingbaseES 出力コンポーネントの名前。Dataphin は自動的にステップ名を生成しますが、ビジネスシナリオに基づいて変更できます。名前は次の要件を満たしている必要があります。
漢字、英字、アンダースコア (_)、数字のみ使用できます。
長さは 64 文字以下である必要があります。
[データソース]
データソースのドロップダウンリストには、ライトスルー権限を持つデータソースと持たないデータソースを含む、すべての KingbaseES データソースが表示されます。
アイコンをクリックして、現在のデータソース名をコピーします。
ライトスルー権限のないデータソースの場合、データソースの横にある [リクエスト] をクリックして、データソースのライトスルー権限をリクエストできます。詳細については、「データソース権限をリクエストする」をご参照ください。
KingbaseES データソースがない場合は、[データソースの作成] をクリックしてデータソースを作成します。詳細については、「KingbaseES データソースを作成する」をご参照ください。
[テーブル]
出力データのターゲットテーブルを選択します。キーワードを入力してテーブルを検索するか、正確なテーブル名を入力して [完全一致] をクリックします。テーブルを選択すると、システムは自動的にテーブルの状態をチェックします。
アイコンをクリックして、選択したテーブルの名前をコピーします。
[ロードポリシー]
ターゲットテーブルにデータを書き込むためのポリシーを選択します。
[データの追加 (insert Into)]: プライマリキーまたは制約違反が発生した場合、ダーティデータエラーが報告されます。
[主キーの競合時の更新 (競合発生時の更新設定)]: 主キーまたは制約違反が発生した場合、マップされたフィールドのデータが既存のレコードで更新されます。
[ライトスルー]
KingbaseES データベース プライマリキー更新構文は、アトミック操作ではありません。書き込むデータが重複するプライマリキーがありますには、有効にする ライトスルーです。それ以外の場合は、パラレル書き込みが使用されます。ライトスルーは、パラレル書き込みよりもパフォーマンスが低くなります。KingbaseES データベースのプライマリキー更新構文はアトミック操作ではありません。書き込むデータに場合は、ライトスルーを必要があります。そうでない場合は、並列書き込みが使用されます。ライトスルーは並列書き込みよりもパフォーマンスが低くなります。
説明このパラメーターは、読み込みポリシーで [主キーの競合時に更新] が選択されている場合にのみ構成できます。
バッチ書き込みサイズ (オプション)
一度に書き込むデータのサイズ。[バッチ書き込み数] も設定できます。いずれかの制限に達すると、システムはデータを書き込みます。デフォルト値は 32M です。
[バッチ書き込み数] (オプション)
デフォルト値は 2048 です。データが同期および書き込まれる場合、バッチ書き込み戦略が使用されます。パラメーターには、[バッチ書き込み数] と [バッチ書き込みサイズ] が含まれます。
累積データがいずれかの制限 (バッチ書き込みサイズまたは数の制限) に達すると、システムはデータのバッチが累積されたと見なし、バッチデータを一度に宛先に書き込みます。
バッチ書き込みサイズは 32 MB に設定することをお勧めします。バッチ書き込み数の制限については、1 レコードの実際のサイズに基づいて柔軟に調整できます。通常は大きな値に設定して、バッチ書き込みの利点を最大限に活用します。たとえば、1 レコードのサイズが約 1 KB の場合、バッチ書き込みサイズを 16 MB に設定できます。同時に、この条件を考慮して、バッチ書き込み数を 16 MB を 1 レコードのサイズ 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] をクリックして、[KingbaseES 出力コンポーネント] のプロパティ構成を完了します。