MySQL 入力コンポーネントは、MySQL データソースからデータを取得します。MySQL データソースから別のデータソースへデータを同期するには、まずこのコンポーネントが読み取る MySQL データソースを構成し、次にデータ同期の対象となるデータソースを構成します。本トピックでは、MySQL 入力コンポーネントの構成方法について説明します。
前提条件
MySQL データソースを作成しました。詳細については、「MySQL データソースの作成」および「」をご参照ください。
MySQL 入力コンポーネントを構成するアカウントには、データソースに対するリードスルー権限が必要です。この権限がない場合は、データソースに対して権限をリクエストしてください。詳細については、「Request Data Source Permissions」をご参照ください。
操作手順
Dataphin ホームページの上部メニューバーで、[Development] > [Data Integration] を選択します。
統合ページの上部メニューバーで、[Project] を選択します。Dev-Prod モードでは、環境を選択します。
左側のナビゲーションウィンドウで、[Offline Integration] をクリックします。[Offline Integration] リストで、開発対象のオフラインパイプラインをクリックして、その構成ページを開きます。
ページ右上隅の [Component Library] をクリックして、[Component Library] パネルを開きます。
[Component Library] パネルの左側ナビゲーションウィンドウで、[Input] をクリックします。右側の入力コンポーネントリストで、[MySQL] コンポーネントを見つけ、キャンバス上にドラッグします。
MySQL 入力コンポーネントカード上の
アイコンをクリックして、[MySQL] [Input Configuration] ダイアログボックスを開きます。[MySQL Input Configuration] ダイアログボックスで、パラメーターを構成します。
パラメーター
説明
ステップ名
MySQL 入力コンポーネントの名前です。Dataphin はステップ名を自動生成しますが、必要に応じて変更できます。命名規則は以下のとおりです。
使用できる文字は、漢字、英字、アンダースコア (_)、数字のみです。
64 文字以内である必要があります。
ソーステーブル数量
ソーステーブルの数を選択します。オプションは [Single Table] および [Multiple Tables] です。
[Single table]:1 つのテーブルの業務データを 1 つの対象テーブルに同期するシナリオに適用されます。
[Multiple tables]:複数のテーブルの業務データを同じ対象テーブルに同期するシナリオに適用されます。複数のテーブルから同じデータテーブルにデータを書き込む場合、UNION アルゴリズムが使用されます。
[Datasource]
データソースのドロップダウンリストには、Dataphin 内のすべての MySQL データソース(リードスルー権限があるものとないものが含まれます)が表示されます。[Single table] を選択した場合は、1 つのデータソースのみを選択します。現在のデータソース名をコピーするには、
アイコンをクリックします。[Multiple tables] を選択した場合は、同じタイムゾーンを持つ複数のデータソースを選択します。リードスルー権限がないデータソースについては、データソース横の [Request] をクリックして、データソースのリードスルー権限をリクエストできます。詳細については、「Request data source permission」をご参照ください。
MySQL データソースがない場合は、ドロップダウンリスト内の [Create Data Source] をクリックして作成します。詳細な手順については、「Creating a MySQL Data Source」をご参照ください。
[Time Zone]
時刻形式のデータを現在のタイムゾーンに基づいて処理します。デフォルトのタイムゾーンは選択したデータソースで設定されたものであり、変更できません。
説明V5.1.2 より前のバージョンで作成されたタスクでは、[Data Source Default Configuration] または [Channel Configuration Time Zone] を選択できます。デフォルトの選択肢は [Channel Configuration Time Zone] です。
[Data Source Default Configuration]:選択したデータソースのデフォルトタイムゾーンです。
チャネル設定のタイムゾーン: 現在の統合タスクで、プロパティ > チャネル設定 に設定されたタイムゾーンです。
[Database] (オプション)
テーブルが存在するデータベースを選択します。空白のままにすると、データソース登録時に指定されたデータベースが使用されます。
[Source table quantity] で [Multiple tables] を選択した場合は、複数のデータベースを選択します。選択済みのすべてのデータベースを表示するには、
アイコンをクリックして [Database List] ダイアログボックスを開きます。テーブル マッチング方法
[一般ルール] または [データベース正規表現] を選択します。
説明このオプションは、[Source table quantity] で [Multiple tables] が選択されている場合にのみサポートされます。
テーブル
ソーステーブルを選択します。
[Source Table Quantity] で [Single Table] を選択した場合、テーブル名のキーワードを入力して検索するか、正確なテーブル名を入力して [Exact Match Search] をクリックします。テーブルを選択すると、システムが自動的にテーブルのステータスをチェックします。現在選択中のテーブル名をコピーするには、
アイコンをクリックします。[Source table quantity] で [Multiple tables] を選択した場合、テーブルマッチング方法に応じて異なる式を入力してテーブルを追加します。
[Table matching method] で [General Rule] を選択した場合:入力ボックスにテーブル式を入力して、同じ構造を持つテーブルをフィルターします。列挙、正規表現風、混合形式をサポートしています。例:
table_[001-100];table_102;table_abc*。[Table matching method] で [Database Regex] を選択した場合:入力ボックスに現在のデータベースでサポートされている正規表現を入力します。システムはこの正規表現に基づいて対象データベース内のテーブルをマッチングします。タスク実行中に、データベースの正規表現に基づいて新しいテーブル範囲を即座にマッチングし、同期を行います。
式を入力後、[Precise Search] をクリックして、[Confirm Match Details] ダイアログボックスでマッチングされたテーブルの一覧を確認します。
[Shard Key] (オプション)
システムは、構成されたシャードキーのフィールドに基づいてデータパーティションを実行します。同時実行数の構成と併用することで、並列読み取りを実現できます。ソースデータテーブルのカラムをシャードキーとして使用できます。また、転送パフォーマンスを確保するため、プライマリキーまたはインデックス付きカラムをシャードキーとして使用することを推奨します。
重要日付・時刻型を選択した場合、システムは最大値と最小値を識別し、総時間範囲と同時実行数に基づいてブルートフォース分割を実行します。これにより、均等な分散が保証されるわけではありません。
[Input Filter] (オプション)
抽出データのフィルター条件を構成します。詳細な構成手順は以下のとおりです。
静的フィールドの構成:対応するデータを抽出します。例:
ds=20211111。変数パラメーターの構成:一部のデータを抽出します。例:
ds=${bizdate}。
[Output Fields]
出力フィールドエリアには、選択したテーブルおよびフィルター条件に一致するすべてのフィールドが表示されます。以下の操作がサポートされています。
フィールド管理:特定のフィールドをダウンストリームコンポーネントに出力する必要がない場合、該当フィールドを削除します。
単一フィールド削除のシナリオ:少数のフィールドを削除するには、操作列の
アイコンをクリックして不要なフィールドを削除します。フィールドの一括削除シナリオ: 多くのフィールドを削除するには、[フィールド管理] をクリックします。[フィールド管理] ダイアログボックスで、複数のフィールドを選択し、
左シフトアイコンをクリックして選択した入力フィールドを未選択の入力フィールドに移動した後、[OK] をクリックしてフィールドの一括削除を完了します。
バッチ追加:[Batch Add] をクリックします。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) で、改行 (\n)、セミコロン (;)、ピリオド (.) がサポートされています。
列区切り文字はフィールド名とフィールドタイプを区切るために使用されます。デフォルト値は半角カンマ (,) で、
','に設定できます。フィールドタイプは省略可能で、省略された場合のデフォルト値は','です。
DDL 形式でバッチ構成します。例:
CREATE TABLE tablename ( user_id serial, username VARCHAR(50), password VARCHAR(50), email VARCHAR (255), created_on TIMESTAMP, );
出力フィールドの作成:[+ Create Output Field] をクリックし、ページの指示に従って [Column]、[Type]、[Description] を入力し、[Mapping Type] を選択します。現在行の構成が完了したら、
アイコンをクリックして保存します。
[Confirm] をクリックして、MySQL 入力コンポーネント のプロパティ構成を完了します。