MySQL 入力コンポーネントは、MySQL データソースからデータを読み取ります。MySQL データソースから他のデータソースにデータを同期する必要があるシナリオでは、まず MySQL 入力コンポーネントを構成してデータソースを読み取り、次にデータ同期のターゲットデータソースを構成する必要があります。このトピックでは、MySQL 入力コンポーネントを構成する方法について説明します。
前提条件
MySQL データソースが追加されています。詳細については、「MySQL データソースを作成する」をご参照ください。
MySQL 入力コンポーネントのプロパティを構成するために使用するアカウントは、データソースに対するリードスルー権限を持っている必要があります。権限がない場合は、データソース権限をリクエストする必要があります。詳細については、「データソース権限をリクエストする」をご参照ください。
手順
Dataphin ホームページの上部ナビゲーションバーで、[開発] > [Data Integration] を選択します。
統合ページの上部ナビゲーションバーで、プロジェクトを選択します(開発 - 本番モードでは、環境を選択する必要があります)。
左側のナビゲーションウィンドウで、[バッチパイプライン] をクリックします。[バッチパイプライン] リストで、開発するオフラインパイプラインをクリックして、構成ページを開きます。
ページの右上隅にある [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで、[入力] を選択します。右側の入力コンポーネントリストで [MySQL] コンポーネントを見つけ、キャンバスにドラッグします。
MySQL 入力コンポーネントカードの
アイコンをクリックして、[MySQL] [入力構成] ダイアログボックスを開きます。[MySQL 入力構成] ダイアログボックスで、パラメーターを構成します。
パラメーター
説明
ステップ名
MySQL 入力コンポーネントの名前。Dataphin は自動的にステップ名を生成しますが、ビジネスシナリオに基づいて変更できます。名前は次の要件を満たしている必要があります。
日本語、英字、アンダースコア(_)、数字のみ使用できます。
長さは 64 文字以内にする必要があります。
ソーステーブル数量
ソーステーブル数量を選択します。 ソーステーブル数量には、[単一テーブル] と [複数テーブル] が含まれます。
[単一テーブル]:このオプションは、1 つのテーブルのビジネスデータをターゲットテーブルに同期する場合に適用されます。
[複数テーブル]:このオプションは、複数のテーブルのビジネスデータを同じターゲットテーブルに同期する場合に適用されます。複数のテーブルのデータが同じデータテーブルに書き込まれる場合、ユニオンアルゴリズムが使用されます。
データソース
保存データソースドロップダウンリストには、現在の Dataphin インスタンスにあるすべての MySQL データソースが表示されます。これには、リードスルー権限を持っているデータソースと、リードスルー権限を持っていないデータソースが含まれます。「ソーステーブル数量」が [単一テーブル] に設定されている場合、選択できるデータソースは 1 つだけです。
複数のテーブル アイコンをクリックして、現在のデータソース名をコピーします。「ソーステーブル数量」が [複数テーブル] に設定されている場合、同じタイムゾーンの複数のデータソースを選択できます。リードスルー権限を持っていないデータソースの場合、データソースの横にある [リクエスト] をクリックして、データソースに対するリードスルー権限をリクエストできます。詳細については、「データソース権限をリクエストする」をご参照ください。
MySQL データソースがない場合は、ドロップダウンリストの [データソースの作成] をクリックして、データソースを作成できます。詳細については、「MySQL データソースを作成する」をご参照ください。
タイムゾーン
タイムゾーンは、時間形式のデータを処理するために使用されます。デフォルト値は、選択したデータソースで構成されているタイムゾーンです。このパラメーターは変更できません。
説明V5.1.2 より前に作成されたタスクの場合、[デフォルトのデータソース構成] または [チャネル構成タイムゾーン] を選択できます。デフォルト値は [チャネル構成タイムゾーン] です。
[デフォルトのデータソース構成]:選択したデータソースのデフォルトのタイムゾーン。
[チャネル構成タイムゾーン]:現在の統合タスクの [プロパティ] > [チャネル構成] で構成されているタイムゾーン。
データベース(オプション)
テーブルが配置されているデータベースを選択します。データベースを指定しない場合、データソースの登録時に指定されたデータベースが使用されます。
「ソーステーブル数量」が [複数テーブル] に設定されている場合、複数のデータベースを選択できます。
アイコンをクリックして、[データベースリスト] ダイアログボックスで選択したすべてのデータベースを表示します。テーブル
ソーステーブルを選択します。
[ソーステーブル数量] が [単一テーブル] に設定されている場合、キーワードを入力してテーブルを検索するか、正確なテーブル名を入力して [完全一致] をクリックします。テーブルを選択すると、システムは自動的にテーブルの状態を確認します。
アイコンをクリックして、選択したテーブルの名前をコピーします。[ソーステーブル数量] が [複数テーブル] に設定されている場合は、次の手順を実行してテーブルを追加します。
入力ボックスにテーブル式を入力して、同じ構造のテーブルをフィルタリングします。
システムは、列挙、正規表現、およびその両方の組み合わせをサポートしています。たとえば、
table_[001-100];table_102;table_abc*です。[完全一致] をクリックします。[一致の詳細の確認] ダイアログボックスで、一致したテーブルのリストを表示します。
[OK] をクリックします。
シャードキー(オプション)
システムは、構成されたシャードキーフィールドに基づいてデータをシャーディングします。このパラメーターを同時読み取り構成と組み合わせて使用すると、同時読み取りを実装できます。ソースデータテーブルの列をシャードキーとして使用できます。伝送パフォーマンスを確保するために、プライマリキーまたはインデックス付きの列をシャードキーとして使用することをお勧めします。
重要日付と時刻のタイプを選択すると、システムは最大値と最小値を識別し、合計時間範囲と同時実行性に基づいて強制シャーディングを実行します。均等な分散は保証されません。
入力フィルター(オプション)
データ抽出のフィルター条件を構成します。詳細な構成は次のとおりです。
静的値を構成する:対応するデータを抽出します。たとえば、
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)です。システムは、改行(\n)、セミコロン(;)、ピリオド(.)をサポートしています。
列区切り文字は、フィールド名とフィールドタイプを区切るために使用されます。デフォルト値はカンマ (,) です。システムは
','をサポートしています。フィールドタイプは空のままにすることができます。デフォルト値は','です。
DDL 形式でフィールドを一括構成します。次に例を示します。
CREATE TABLE tablename ( user_id serial, username VARCHAR(50), password VARCHAR(50), email VARCHAR (255), created_on TIMESTAMP, );
出力フィールドの作成:[+ 出力フィールドの作成] をクリックし、[列]、[タイプ]、[説明] に入力し、プロンプトに従って [マッピングタイプ] を選択します。現在の行の構成が完了したら、
アイコンをクリックして保存します。
[OK] をクリックして、MySQL 入力コンポーネントのプロパティ構成を完了します。