このドキュメントでは、AnalyticDB for MySQL 3.0 Reader でサポートされているデータ型とパラメーター、およびコードレスユーザーインターフェイス (UI) とコードエディターを使用してデータ型とパラメーターを構成する方法について説明します。

AnalyticDB for MySQL 3.0 Reader を使用すると、AnalyticDB for MySQL 3.0 からデータを読み取ることができます。 AnalyticDB for MySQL 3.0 Reader は、Java Database Connectivity (JDBC) を介してリモートの AnalyticDB for MySQL 3.0 データベースに接続し、データベースからデータを選択して読み取る SELECT 文を実行します。

データ型

次の表は、AnalyticDB for MySQL 3.0 Reader でサポートされているデータ型を示します。

カテゴリー AnalyticDB for MySQL 3.0 データ型
整数 INT、INTEGER、TINYINT、SMALLINT、BIGINT
浮動小数点 FLOAT、DOUBLE、DECIMAL
文字列 VARCHAR
日付と時刻 DATE、DATETIME、TIMESTAMP、TIME
ブール値 BOOLEAN

パラメーター

パラメーター 説明 必須 / 任意 デフォルト値
datasource 接続名です。 追加された接続の名前と同じである必要があります。 コードエディターで接続を追加できます。 必須 なし
table 同期するテーブルの名前です。 必須 なし
column ソーステーブルから同期される列です。 列は JSON 配列で記述されます。 デフォルト値は [ * ] です。これはすべての列を示します。
  • 列のプルーニングがサポートされています。 特定の列を選択してエクスポートできます。
  • 列の順序は変更できます。 テーブルのスキーマで指定された順序とは異なる順序で列をエクスポートできます。
  • 定数がサポートされています。 列名は、AnalyticDB for MySQL でサポートされている SQL 構文に準拠して配置する必要があります。例:["id", "`table`", "1", "'bazhen.csy'", "null", "to_char(a + 1)", "2.3" , "true"]
    • id :列名。
    • table :予約済みキーワードを含む列の名前。
    • 1 : 整数定数。
    • bazhen.csy :文字列定数。
    • null : Null ポインター。
    • to_char(a + 1): 関数式。
    • 2.3 :浮動小数点定数。
    • true: ブール値。
  • column パラメーターは、同期する列のセットを明確に指定する必要があります。 このパラメーターは空白のままにできません。
必須 なし
splitPk AnalyticDB for MySQL 3.0 Reader がデータを抽出するときにデータシャーディングに使用されるフィールドです。 splitPk パラメーターを指定した場合、このパラメーターで指定されたシャードキーに基づいてテーブルがシャーディングされます。 Data Integration は同時スレッドを実行してデータを同期します。 これにより効率が向上します。
  • splitPk パラメーターをテーブルのプライマリキーに設定することを推奨します。 プライマリキーに基づいて、データはさまざまなシャードに適切に分散できますが、特定のシャードに集中的に分散することはできません。
  • 現在、splitPk パラメーターは整数に対してのみデータシャーディングをサポートしていますが、String、Float、Date などの他のデータタイプはサポートしていません。 サポートされていないタイプの列にこのパラメーターを指定すると、AnalyticDB for MySQL 3.0 Reader は splitPk パラメーターを無視して、単一スレッドを介してデータを同期します。
  • splitPk パラメーターを指定しない場合、または空のままにした場合、Data Integration は単一スレッドを介してデータを同期します。
任意 なし
where WHERE 句です。 たとえば、このパラメーターを gmt_create>$bizdate に設定します。
  • WHERE 句を使用して増分データを同期できます。 WHERE パラメーターを指定しない場合、または空のままにした場合、すべてのデータが同期されます。
  • where パラメーターを limit 10 に設定することはできません。これは、SQL WHERE 句に対する AnalyticDB for MySQL の制約に準拠していません。
任意 なし

コードレス UI を使用した AnalyticDB for MySQL 3.0 Reader の構成

  1. 接続を構成します。

    同期ノードのソース接続とターゲット接続を構成します。

    パラメーター 説明
    接続 前述のパラメーターの datasource パラメーターです。 接続タイプを選択し、DataWorks で構成されている接続の名前を入力します。
    テーブル 前述のパラメーターの説明の table パラメーターです。
    フィルター 同期するデータのフィルター条件です。 現在、limit キーワードに基づくフィルタリングはサポートされていません。 SQL 構文は、選択した接続によって決まります。
    シャードキー シャードキーです。 ソーステーブルの列をシャードキーとして使用できます。 プライマリキーまたはインデックス付き列を使用することを推奨します。 整数フィールドのみがサポートされています。
    構成済みのシャードキーに基づいてデータシャーディングを実行する場合は、データを同時に読み取ってデータ同期の効率を向上させることができます。
    Shard Key パラメーターは、同期タスクのデータソースを設定した場合にのみ表示されます。
  2. フィールドのマッピング (前述のパラメーターの説明の column パラメーター) です。
    左側のソーステーブルのフィールドには、右側のターゲットテーブルのフィールドと 1 対 1 のマッピングがあります。 [追加] をクリックしてフィールドを追加するか、ポインターをフィールドに合わせて、[削除] アイコンをクリックし、フィールドを削除できます。
    パラメーター 説明
    同じ名前でフィールドをマッピングする [同じ名前でフィールドをマッピングする] をクリックして、同じ名前のフィールド間のマッピングを確立します。 フィールドのデータ型が一致する必要があります。
    同じ行にフィールドをマッピングする [同じ行にフィールドをマッピングする] をクリックして、同じ行のマッピングを確立します。 フィールドのデータ型が一致する必要があります。
    すべてのマッピングを削除する [すべてのマッピングを削除する] をクリックして、確立されているマッピングを削除します。
    自動レイアウト [自動レイアウト] をクリックすると、 フィールドが指定されたルールに基づいて自動的にソートされます。
    フィールドを変更する [フィールドを変更する] アイコンをクリックします。 表示される [フィールドを変更する] ダイアログボックスで、ソーステーブルのフィールドを手動で編集できます。 各フィールドが 1 行になります。 最初と最後の空白行は含まれますが、他の空白行は無視されます。
    追加
    • フィールドを追加するには、[追加] をクリックします。 定数を入力することができます。 各定数を単一引用符で囲む必要があります。(例:'abc' 、 '123')。
    • ${bizdate} などのスケジューリングパラメーターを追加できます。
    • now() や count(1) などのリレーショナルデータベースでサポートされている関数を入力することができます。
    • 解析できないフィールドは、Unidentified で示されます。
  3. チャンネル制御ポリシーを設定します。チャンネル
    パラメーター 説明
    予測される最大同時実行数 同期ノード内のデータストレージにデータを読み書きする同時スレッドの最大数です。 コードレス UI でノードの同時実行を構成できます。
    帯域幅調整 帯域幅調整を有効にするかどうかを指定します。 帯域幅調整を有効にして最大転送速度を設定することで、ソースの読み取りワークロードの過多を防止できます。 帯域幅調整を有効にして最大伝送速度を適切な値に設定することを推奨します。
    許容されているダーティデータレコード 許容されているダーティデータレコードの最大数です。
    リソースグループ 同期タスクを実行する際に使用されるリソースグループです。 この同期ノードを含む多数のノードがデフォルトのリソースグループにデプロイされている場合、同期ノードはリソースを待つ必要がある場合があります。 データ統合専用リソースグループを購入するか、またはカスタムリソースグループを追加することを推奨します。 詳細については、「DataWorks の排他的リソース」および「カスタムリソースグループの追加」をご参照ください。

コードエディターを使用した AnalyticDB for MySQL 3.0 Reader の構成

次のコードは、AnalyticDB for MySQL 3.0 データベースからデータを読み取るノード構成になっています。 パラメーターの詳細については、前述のパラメーターの説明をご参照ください。

{
    "type": "job",
    "steps": [
        { 
            "stepType": "analyticdb_for_mysql", // リーダーのタイプ。
             "parameter": {
                "column": [ // 同期する列。
                     "id",
                    "value",
                    "table"
                ],
                "connection": [
                    {
                        "datasource": "",// 接続名。
                         "table":[// 同期するテーブル名。
                             "xxx"
                        ]
                    }
                ],
                "where": "", // WHERE 句。
                 "splitPk": "", // シャードキー。
                 "encoding": "UTF-8" // エンコード形式。
             },
            "name":"Reader",
            "category": "reader"
        },
        {// 以下のテンプレートが Stream Writer の構成に使用されます。 詳細については、対応するトピックをご参照ください。
             "stepType": "stream",
            "parameter": {}
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {
            "record":"0" // 許可されるダーティデータレコードの最大数。
         },
        "speed": {
            "concurrent": 2,// 並行スレッドの最大数。
             "throttle": false,// 帯域幅調整を有効化するかどうかを指定します。 値が false の場合は帯域幅は調整されていないことを示します。 値が true の場合は帯域幅は調整されていることを示します。 この値を true に設定した場合にのみ、最大伝送速度が有効になります。
         }
    }
}