Oracle 入力コンポーネントは、Oracle データソースからデータを取得します。Oracle データソースから他のデータソースへデータを同期する場合、まず Oracle 入力コンポーネントを構成してソースデータソースを指定し、その後ターゲットデータソースを構成します。本トピックでは、Oracle 入力コンポーネントの構成方法について説明します。
前提条件
Oracle データソースを作成しました。詳細については、「Oracle データソースを作成する」をご参照ください。
Oracle 入力コンポーネントの構成に使用するアカウントには、データソースに対する sync-read 権限が必要です。該当の権限が付与されていない場合は、権限の付与をリクエストしてください。詳細については、「データソース権限のリクエスト」をご参照ください。
操作手順
Dataphin のホームページのトップメニューバーで、[開発] をクリックし、次に [データ統合] をクリックします。
データ統合ページの上部メニューバーで、**[プロジェクト]** を選択します。Dev-Prod モードを使用している場合は、環境も併せて選択します。
左側のナビゲーションウィンドウで、[バッチパイプライン] をクリックします。[バッチパイプライン] リストで、開発するオフラインパイプラインをクリックします。オフラインパイプラインの構成ページが開きます。
ページの右上隅で、[コンポーネントライブラリ] をクリックして [コンポーネントライブラリ] パネルを開きます。
「コンポーネントライブラリ」パネルの左側のナビゲーションウィンドウで、[入力] をクリックします。右側の入力コンポーネントリストで、[Oracle] コンポーネントを探し、キャンバスにドラッグします。
Oracle 入力コンポーネントカードで、
アイコンをクリックして、[Oracle] [入力設定] ダイアログボックスを開きます。[Oracle Input Configuration]ダイアログボックスで、以下のパラメーターを設定します。
パラメーター
説明
ステップ名
Oracle 入力コンポーネントの名称です。Dataphin が自動的にステップ名を生成しますが、ビジネス要件に応じて変更可能です。命名規則は以下のとおりです。
漢字、英字、アンダースコア (_)、数字のみ使用可能です。
最大文字数は 64 文字です。
データソース
ドロップダウンリストには、Dataphin に登録されたすべての Oracle データソースが表示されます。sync-read 権限を持つデータソースおよび持たないデータソースの両方が含まれます。現在のデータソース名をコピーするには、
アイコンをクリックします。データソースの同期読み取り権限がない場合は、データソースの横にある[リクエスト]をクリックして同期読み取り権限をリクエストします。 詳細については、「データソース権限のリクエスト」をご参照ください。
Oracle データソースがない場合は、[データソースの作成] をクリックして作成します。 詳細については、「Oracle データソースの作成」をご参照ください。
タイムゾーン
Dataphin は、タイムゾーンに基づいて時刻形式のデータを処理します。デフォルトでは、選択したデータソースに設定されたタイムゾーンが使用されます。この設定は変更できません。
説明バージョン V5.1.2 より前のバージョンで作成されたタスクの場合、[データソースのデフォルト設定] または [チャネル設定のタイムゾーン] を選択できます。デフォルトの選択肢は [チャネル設定のタイムゾーン] です。
データソースのデフォルト設定: 選択されたデータソースのデフォルトのタイムゾーンです。
チャネル設定タイムゾーン: [プロパティ] > [チャネル設定] で現在の統合タスクに設定されたタイムゾーンです。
Schema(任意)
テーブルが存在するスキーマを選択します。クロススキーマのテーブル選択をサポートしています。スキーマを指定しない場合、Dataphin はデータソースに設定されたスキーマを使用します。
ソーステーブル数
ソーステーブルの数を選択します。オプションは [単一テーブル] と [複数テーブル] です:
単一テーブル: このオプションは、1つのソーステーブルから1つの宛先テーブルにビジネスデータを同期する場合に使用します。
[複数のテーブル]: このオプションは、複数のソーステーブルからビジネスデータを 1 つの宛先テーブルに同期する場合に使用します。複数のテーブルからデータを 1 つの宛先テーブルに書き込む場合、Dataphin は UNION アルゴリズムを使用します。
テーブルマッチング方式
[汎用ルール] または [データベース正規表現] を選択します。
説明このパラメーターは、[ソーステーブル数] で [複数テーブル] を選択した場合にのみ利用可能です。
表
ソーステーブルを選択します。
[ソーステーブル数] で [単一テーブル] を選択した場合は、テーブル名のキーワードを入力して検索するか、正確なテーブル名を入力して [完全一致] をクリックします。 テーブルを選択すると、Dataphin が自動的にそのステータスをチェックします。
アイコンをクリックして、選択したテーブル名をコピーします。[ソーステーブル数] で [複数テーブル] を選択した場合:テーブル一致方法に基づいた式を入力します。
テーブル一致方法として [汎用ルール] を選択した場合:同一構造のテーブルをフィルターするための式をフィールドに入力します。Dataphin は列挙、正規表現風パターン、および混合形式をサポートします。例:
table_[001-100];table_102;。テーブル一致方法として [データベース正規表現] を選択した場合:データベースでサポートされる正規表現パターンを入力します。Dataphin はこのパターンを使用してターゲットデータベース内のテーブルをマッチさせます。タスク実行時に、Dataphin は正規表現に基づいて新たに追加されたテーブルを動的にマッチさせます。
式を入力して [完全一致] をクリックすると、[一致詳細の確認] ダイアログボックスに、一致したテーブルのリストが表示されます。
分割キー (任意)
Dataphin は、指定した分割キー列に基づいてデータを分割します。同時実行設定と併用することで、データを並列で読み取ることが可能です。ソーステーブルの任意の列を分割キーとして使用できます。パフォーマンス向上のため、プライマリキーまたはインデックス付き列を推奨します。
重要日時型の列を選択した場合、Dataphin は最大値および最小値に基づき、全時間範囲に対してブルートフォース方式で分割を行います。この方法は均等な分割を保証しません。
バッチ読み取りサイズ (任意)
1 回の読み取りで取得するレコード数です。1 レコードずつではなく、1024 レコードなどのバッチサイズを設定することで、ソースデータベースとのやり取り回数を削減し、I/O 効率を向上させ、ネットワーク遅延を低減できます。
Codec(オプション)
データ読み取り用のコーデックを選択します。Dataphin は、次のコーデックをサポートしています: UTF-8、GBK、および ISO-8859-1。
入力フィルター (任意)
抽出するデータをフィルターするための条件を設定します。設定内容は以下のとおりです。
静的値:特定のデータを抽出します。例:
ds=20211111。変数パラメーター:一部のデータを抽出します。例:
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] をクリックして、Oracle 入力コンポーネントの構成を完了します。