TiDB 入力コンポーネントは、TiDB データソースからデータを取得します。TiDB データソースから別のデータソースにデータを同期する場合、まず TiDB 入力コンポーネントを設定してソースから読み取り、次に同期先のターゲットデータソースを設定します。このトピックでは、TiDB 入力コンポーネントの設定方法について説明します。
前提条件
TiDB データソースが作成済みであること。手順については、「TiDB データソースの作成」をご参照ください。
TiDB 入力コンポーネントを設定するために使用するアカウントには、データソースに対する同期読み取り権限が必要です。権限がない場合は、権限をリクエストしてください。詳細については、「データソース権限のリクエスト、更新、または解放」をご参照ください。
操作手順
Dataphin のホームページで、上部のメニューバーにある [開発] をクリックし、次に [データ統合] をクリックします。
統合ページで、[プロジェクト] を選択します。Dev-Prod モードでは、環境も選択します。
左側のナビゲーションウィンドウで、[バッチパイプライン] をクリックします。[バッチパイプライン] リストで、開発するオフラインパイプラインをクリックします。パイプライン構成ページが開きます。
ページの右上隅にある [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで [入力] をクリックし、右側のリストで [TiDB] コンポーネントを見つけてキャンバスにドラッグします。
TiDB Input コンポーネントカードの
アイコンをクリックして、TiDB 入力設定ダイアログボックスを開きます。[TiDB Input Configuration] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
ステップ名
TiDB 入力コンポーネントの名前です。Dataphin は自動的に名前を生成しますが、ビジネスニーズに応じて変更できます。次の命名規則に従ってください:
漢字、英字、アンダースコア (_)、数字のみを使用してください。
名前は 64 文字未満にしてください。
データソース
ドロップダウンリストには、Dataphin 内のすべての TiDB データソースが表示されます。これには、同期読み取り権限があるデータソースとないデータソースの両方が含まれます。
アイコンをクリックすると、現在のデータソース名をコピーできます。データソースに対する同期読み取り権限がない場合は、データソースの横にある [リクエスト] をクリックして権限をリクエストします。手順については、「データソース権限のリクエスト」をご参照ください。
TiDB データソースがない場合は、[データソースの作成] をクリックして作成します。手順については、「TiDB データソースの作成」をご参照ください。
ソーステーブル数
ソーステーブルの数を選択します。オプションは [単一テーブル] と [複数テーブル] です:
単一テーブル:1 つのソーステーブルから 1 つのターゲットテーブルにデータを同期する場合にこのオプションを使用します。
複数テーブル:複数のソーステーブルから 1 つのターゲットテーブルにデータを同期する場合にこのオプションを使用します。複数のテーブルから 1 つのテーブルにデータを書き込む際、システムは UNION アルゴリズムを使用します。
テーブル照合方法
選択できるのは、[汎用ルール] のみです。
説明この設定は、[ソーステーブル数] で [複数テーブル] を選択した場合にのみ利用可能です。
テーブル
ソーステーブルを選択します:
[ソーステーブル数] で [単一テーブル] を選択した場合は、キーワードで検索するか、完全なテーブル名を入力して [完全一致検索] をクリックします。テーブルを選択すると、システムによってステータスが自動的にチェックされます。
アイコンをクリックすると、選択したテーブル名をコピーできます。[ソーステーブル数] で [複数テーブル] を選択した場合、次のようにテーブルを追加します:
入力ボックスにテーブル式を入力して、同じ構造のテーブルを照合します。
システムは、列挙、正規表現風、混合フォーマットをサポートしています。例:
table_[001-100];table_102。[完全一致検索] をクリックします。[一致詳細の確認] ダイアログボックスで、一致したテーブルのリストを確認します。
[確認] をクリックします。
シャードキー (任意)
システムは、設定されたシャードキーフィールドを使用してデータを分割します。この設定を同時実行数設定と併用することで、同時読み取りが可能になります。ソーステーブルの任意の列をシャードキーとして使用できます。最高のパフォーマンスを得るには、プライマリキーまたはインデックス付き列を使用してください。
重要日時型を選択した場合、システムは全時間範囲と同時実行数設定に基づいて総当たり分割を実行します。この方法では、均等な分散は保証されません。
バッチ読み取りサイズ (任意)
一度に読み取るレコード数です。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) です。サポートされている区切り文字:\n、セミコロン (;)、ピリオド (.)。
列区切り文字はフィールド名とタイプを区切ります。デフォルトはカンマ (,) です。サポートされている区切り文字:
','。フィールドタイプは任意で、デフォルトは','です。
DDL フォーマットの例:
CREATE TABLE tablename ( user_id serial, username VARCHAR(50), password VARCHAR(50), email VARCHAR (255), created_on TIMESTAMP, );
出力フィールドの追加: [+ 出力フィールドの追加] をクリックします。[カラム]、[タイプ]、[コメント] の値を入力します。[マッピングタイプ] を選択します。
アイコンをクリックして行を保存します。
[OK] をクリックして、[TiDB 入力コンポーネント] の構成を完了します。