AnalyticDB for PostgreSQL 入力コンポーネントは、AnalyticDB for PostgreSQL データソースからデータを読み取ります。AnalyticDB for PostgreSQL データソースから別のデータソースにデータを同期する場合、まず AnalyticDB for PostgreSQL 入力コンポーネントでソースデータソースの情報を設定する必要があります。次に、データ同期先のターゲットデータソースを設定します。このトピックでは、AnalyticDB for PostgreSQL 入力コンポーネントの設定方法について説明します。
前提条件
AnalyticDB for PostgreSQL データソースが作成されていること。詳細については、「AnalyticDB for PostgreSQL データソースの作成」をご参照ください。
AnalyticDB for PostgreSQL 入力コンポーネントのプロパティを設定するために使用するアカウントには、データソースに対するリードスルー権限が必要です。この権限がない場合は、リクエストしてください。詳細については、「データソース権限のリクエスト」をご参照ください。
操作手順
Dataphin のホームページの上部メニューバーで、[開発] > [データ統合] を選択します。
統合ページの上部メニューバーで、プロジェクトを選択します。Dev-Prod モードの場合は、環境も選択します。
左側のナビゲーションウィンドウで、[オフライン統合] をクリックします。[オフライン統合] リストで、開発したいオフラインパイプラインをクリックして、その設定ページを開きます。
ページ右上の [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで、[入力] を選択します。右側の入力コンポーネントリストから [AnalyticDB for PostgreSQL] コンポーネントを見つけ、キャンバスにドラッグします。
AnalyticDB for PostgreSQL 入力コンポーネントカードの
アイコンをクリックして、[AnalyticDB for PostgreSQL] [入力設定] ダイアログボックスを開きます。[AnalyticDB for PostgreSQL 入力設定] ダイアログボックスで、次のパラメーターを設定します。
パラメーター
説明
[ステップ名]
AnalyticDB for PostgreSQL 入力コンポーネントの名前です。Dataphin は自動的にステップ名を生成しますが、ビジネスシナリオに基づいて変更できます。命名規則は次のとおりです:
漢字、英字、アンダースコア (_)、数字のみを含めることができます。
長さは 64 文字以内である必要があります。
データソース
ドロップダウンリストには、現在の Dataphin インスタンスで利用可能なすべての AnalyticDB for PostgreSQL データソースとプロジェクトレベルのリソースが表示されます。これには、リードスルー権限があるものとないものが含まれます。
アイコンをクリックして、現在のデータソース名をコピーします。リードスルー権限のないデータソースについては、データソースの横にある [リクエスト] をクリックしてリードスルー権限を申請します。詳細については、「データソース権限のリクエスト」をご参照ください。
AnalyticDB for PostgreSQL データソースがない場合は、[データソースの作成] をクリックして作成します。詳細については、「AnalyticDB for PostgreSQL データソースの作成」をご参照ください。
タイムゾーン
時間形式のデータは、現在のタイムゾーンに基づいて処理されます。デフォルトでは、これは選択されたデータソースに設定されたタイムゾーンであり、変更することはできません。
説明バージョン V5.1.2 より前に作成されたタスクでは、[データソースのデフォルト設定] または [チャネル設定タイムゾーン] のいずれかを選択できます。デフォルトの選択は [チャネル設定タイムゾーン] です。
[データソースのデフォルト設定]:選択されたデータソースのデフォルトのタイムゾーン。
[チャネル設定タイムゾーン]:現在の統合タスクの [プロパティ] > [チャネル設定] で設定されたタイムゾーン。
[スキーマ] (任意)
スキーマを選択すると、クロススキーマでのテーブル選択が可能になります。指定しない場合、デフォルトでデータソースに設定されているスキーマが使用されます。
[ソーステーブル数]
ソーステーブルの数を選択します。オプションには [単一テーブル] と [複数テーブル] があります:
[単一テーブル]:1 つのソーステーブルから 1 つのターゲットテーブルにデータを同期する場合に使用します。
[複数テーブル]:複数のソーステーブルから同じターゲットテーブルにデータを同期する場合に使用します。UNION アルゴリズムは、複数のテーブルのデータを 1 つのテーブルに結合します。
[テーブル照合方法]
[一般ルール] と [データベース正規表現] から選択します。
説明このパラメーターは、[ソーステーブル数] が [複数テーブル] に設定されている場合にのみ設定可能です。
テーブル
ソーステーブルを選択します:
[ソーステーブル数] が [単一テーブル] に設定されている場合、キーワードを入力してテーブルを検索するか、正確なテーブル名を入力して [完全一致検索] をクリックします。テーブルを選択すると、システムが自動的にそのステータスを確認します。
アイコンをクリックして、選択したテーブル名をコピーします。[ソーステーブル数] が [複数テーブル] に設定されている場合、テーブル照合方法に基づいて異なる式を入力してテーブルを追加します。
[テーブル照合方法] が [一般ルール] に設定されている場合、入力ボックスに式を入力して同一構造のテーブルをフィルタリングします。システムは、列挙、正規表現に似たパターン、またはその両方の組み合わせをサポートします。例:
table_[001-100];table_102;。[テーブル照合方法] が [データベース正規表現] に設定されている場合、現在のデータベースでサポートされている正規表現を入力します。システムはこの正規表現に基づいてターゲットデータベース内のテーブルを照合します。ランタイム時に、システムは正規表現パターンに一致する新しいテーブルを動的に照合して同期します。
式を入力した後、[完全一致検索] をクリックして、[照合詳細の確認] ダイアログボックスで一致したテーブルリストを表示します。
[分割キー] (任意)
データパーティション分割に使用する分割キーフィールドを設定します。この設定は同時実行数と連動し、データの並列読み取りを可能にします。ソーステーブルの任意の列を分割キーとして指定できます。最適なパフォーマンスを得るには、プライマリキーまたはインデックス付きの列を分割キーとして使用することを推奨します。
重要datetime 型を使用する場合、システムは最大値と最小値を識別し、合計時間範囲と同時実行レベルに基づいて総当たり分割を実行します。この方法では、均等な分散は保証されません。
[バッチ読み取りサイズ] (任意)
1 回のバッチで読み取るレコード数です。一度に 1 レコードずつ読み取るのではなく、特定のバッチサイズ (例:1024 レコード) を設定することで、データソースとのやり取りを減らし、I/O 効率を向上させ、ネットワーク遅延を低減します。
[入力フィルター] (任意)
データを抽出するためのフィルタリング条件を設定します。詳細な設定手順については、以下をご参照ください:
静的な値を使用して一致するデータを抽出します。例:
ds=20210101。変数パラメーターを使用して一部のデータを抽出します。例:
ds=${bizdate}。
出力フィールド
説明テナントのコンピュートエンジンが AnalyticDB for PostgreSQL の場合、AnalyticDB for PostgreSQL 入力コンポーネントの出力フィールドは分類とカテゴリ分けをサポートします。この機能は、AnalyticDB for PostgreSQL 以外のコンピュートエンジンでは利用できません。
出力フィールドセクションには、選択したテーブルからフィルター条件に一致するすべてのフィールドが表示されます。以下の操作を実行できます:
フィールド管理:特定のフィールドがダウンストリームに渡されないようにするには、それらを削除します:
単一フィールドの削除:少数のフィールドを削除するには、[操作] 列の
アイコンをクリックして、不要な各フィールドを削除します。バッチフィールド削除シナリオ:多くのフィールドを削除するには、[フィールド管理] をクリックし、[フィールド管理] ダイアログボックスで複数のフィールドを選択し、
左移動アイコンをクリックして選択した入力フィールドを未選択の入力フィールドリストに移動し、[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] をクリックして、[AnalyticDB for PostgreSQL] 入力コンポーネントのプロパティ設定を完了します。