GoldenDB 入力コンポーネントは、GoldenDB データソースからデータを読み取ります。GoldenDB データソースから別のデータソースにデータを同期するには、まず GoldenDB 入力コンポーネントを設定してソースから読み取り、次に同期先のデータソースを設定します。このトピックでは、GoldenDB 入力コンポーネントの設定方法について説明します。
前提条件
GoldenDB データソースが作成済みであること。手順については、「GoldenDB データソースの作成」をご参照ください。
GoldenDB 入力コンポーネントの設定に使用するアカウントには、データソースに対するリードスルー権限が必要です。この権限がない場合は、権限をリクエストしてください。詳細については、「データソース権限のリクエスト、更新、またはリリース」をご参照ください。
操作手順
Dataphin ホームページのトップメニューバーで、[開発] をクリックし、次に [データ統合] をクリックします。
統合ページで、上部のメニューバーから [プロジェクト] を選択します。開発・本番モードの場合は、環境も選択します。
左側のナビゲーションウィンドウで、[オフライン統合] をクリックし、次に [オフライン統合] リストから開発するオフラインパイプラインをクリックして、その構成ページを開きます。
ページの右上隅で、[コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
左側のナビゲーションウィンドウで、[コンポーネントライブラリ] パネルの [入力] をクリックします。右側の入力コンポーネントリストで、[GoldenDB] コンポーネントを探して、キャンバス上にドラッグします。
GoldenDB 入力コンポーネントカードの
アイコンをクリックして、GoldenDB [入力設定] ダイアログボックスを開きます。[GoldenDB 入力設定] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
ステップ名
GoldenDB 入力コンポーネントの名前。Dataphin は自動的にステップ名を生成しますが、ビジネスシナリオに合わせて変更できます。命名規則は次のとおりです:
使用できるのは、漢字、英字、アンダースコア (_)、数字のみです。
名前は 64 文字以内にする必要があります。
データソース
ドロップダウンリストには、Dataphin 内のすべての GoldenDB データソースが表示されます。これには、リードスルー権限があるデータソースとないデータソースの両方が含まれます。
アイコンをクリックすると、現在のデータソース名をコピーできます。データソースに対するリードスルー権限がない場合は、データソースの横にある[リクエスト]をクリックして権限を申請します。手順については、「データソース権限の申請」をご参照ください。
GoldenDB データソースがない場合は、[データソースの作成] をクリックして作成します。詳細については、「GoldenDB データソースの作成」をご参照ください。
ソーステーブル数
ソーステーブルの数を選択します。オプションは [単一テーブル] と [複数テーブル] です:
[単一テーブル]:1 つのソーステーブルから 1 つのターゲットテーブルにビジネスデータを同期する場合に使用します。
[複数テーブル]:複数のソーステーブルから 1 つのターゲットテーブルにビジネスデータを同期する場合に使用します。複数のテーブルから 1 つのテーブルにデータを書き込む際、システムは UNION アルゴリズムを使用します。
テーブル一致方法
選択できるのは、[汎用ルール]のみです。
説明この設定は、[ソーステーブル数] で [複数テーブル] を選択した場合にのみ利用可能です。
テーブル
ソーステーブルを選択します:
[ソーステーブル数]で[シングルテーブル]を選択した場合、テーブル名フィールドにキーワードを入力して検索します。または、正確なテーブル名を入力して[完全一致]をクリックします。テーブルを選択すると、システムが自動的にそのステータスを検出します。選択したテーブル名をコピーするには、
アイコンをクリックします。[ソーステーブル数] で [複数テーブル] を選択した場合、次のようにテーブルを追加します:
入力フィールドにテーブル式を入力して、同じ構造を持つテーブルをフィルターします。
システムは、列挙、正規表現風、および混合式をサポートしています。例:
table_[001-100];table_102。「[完全一致]」をクリックします。[一致詳細の確認] ダイアログボックスで、一致したテーブルのリストを確認します。
[確認] をクリックします。
[分割キー](オプション)
指定した分割キー列に基づいてデータが分割されます。この設定を同時実行性の設定と併用することで、同時読み取りが可能になります。ソーステーブルの任意の列を分割キーとして使用できます。最高のパフォーマンスを得るには、プライマリキーまたはインデックス付き列を使用してください。
重要日時型を選択した場合、システムは最大値と最小値を使用して全時間範囲にわたって総当たり分割を実行します。この方法は均等な分散を保証しません。
バッチ読み取りサイズ (任意)
一度に読み取るレコード数。レコードを 1 つずつ読み取る代わりに、1024 などのバッチサイズを設定します。これにより、データソースとのやり取りが減り、I/O 効率が向上し、ネットワーク遅延が低減します。
[入力フィルター] (オプション)
抽出するデータをフィルターするための条件を設定します。次のように設定します:
静的な値を設定:一致するデータを抽出します。例:
ds=20210101。変数パラメーターを設定:データのサブセットを抽出します。例:
ds=${bizdate}。
出力フィールド
このセクションには、選択したテーブルとフィルター結果のすべてのフィールドがリストされます。次の操作を実行できます:
フィールドの管理:後続の処理で不要なフィールドを削除します:
単一フィールドの削除:[操作] 列の
アイコンをクリックして、単一のフィールドを削除します。複数のフィールドを削除: [フィールド管理] をクリックします。[フィールド管理] ダイアログボックスで、複数のフィールドを選択します。左シフトアイコン
をクリックして、選択済みリストから未選択リストに移動します。[OK] をクリックして、一括削除を完了します。
一括追加: [一括追加] をクリックして、JSON、TEXT、または DDL フォーマットでフィールドを追加します。
説明フィールドをバッチ追加して [OK] をクリックすると、新しい設定は既存のフィールド設定を上書きします。
JSON フォーマットでのバッチ設定例:
// 例: [{ "index": 1, "name": "id", "type": "int(10)", "mapType": "Long", "comment": "comment1" }, { "index": 2, "name": "user_name", "type": "varchar(255)", "mapType": "String", "comment": "comment2" }]説明indexは列番号を指定し、nameはインポート後のフィールド名を指定し、typeはインポート後のフィールドタイプを指定します。 例えば、"index":3,"name":"user_id","type":"String"は、ファイルの 4 番目の列がフィールド名user_id、フィールドタイプStringでインポートされることを意味します。TEXT フォーマットでのバッチ設定例:
// 例: 1,id,int(10),Long,comment1 2,user_name,varchar(255),Long,comment2行区切り文字は、各フィールドの情報を区切ります。デフォルトは改行 (\n) です。セミコロン (;) やピリオド (.) も使用できます。
列区切り文字は、フィールド名とフィールドタイプを区切ります。デフォルトはカンマ (,) です。
','も使用できます。フィールドタイプは任意です。省略した場合、デフォルトは','です。
DDL フォーマットでのバッチ設定例:
CREATE TABLE tablename ( user_id serial, username VARCHAR(50), password VARCHAR(50), email VARCHAR (255), created_on TIMESTAMP, );
新しい出力フィールドを追加: [+ 出力フィールドの追加] をクリックします。[列]、[タイプ]、[コメント] を入力し、[マッピングタイプ] を選択します。
アイコンをクリックして、行を保存します。
[OK] をクリックして、[GoldenDB 入力コンポーネント] の設定を完了します。