すべてのプロダクト
Search
ドキュメントセンター

DataWorks:SelectDB データソース

最終更新日:Oct 29, 2025

DataWorks Data Integration の SelectDB Writer を使用して、データを SelectDB テーブルにインポートできます。このトピックでは、DataWorks の SelectDB に対するデータ同期機能について説明します。

サポートされている SelectDB バージョン

SelectDB Writer は MySQL Driver 5.1.47 を使用します。ドライバーの機能の詳細については、「MySQL Connectors」をご参照ください。このドライバーは、次のバージョンをサポートしています:

  • 標準 SelectDB バージョン: 2.2.31 および 2.2.22。

  • Alibaba Cloud SelectDB バージョン: 2.4、3.0、および 4.0。

制限事項

  • Data Integration は、SelectDB へのオフライン書き込みのみをサポートします。

  • BITMAP、HLL (HyperLogLog)、または QUANTILE_STATE タイプのフィールドへのデータ書き込みはサポートされていません。

サポートされているフィールドタイプ

各 SelectDB バージョンのフィールドタイプの完全なリストについては、公式 SelectDB ドキュメントをご参照ください。次の表は、例として SelectDB 2.2.22 でサポートされているフィールドタイプの一覧です。

SelectDB フィールドタイプ

オフライン書き込み (SelectDB Writer)

INT

サポート済み

BIGINT

サポート済み

LARGEINT

サポート済み

SMALLINT

サポート済み

TINYINT

サポート済み

BOOLEAN

サポート済み

DECIMAL

サポート済み

DOUBLE

サポート済み

FLOAT

サポート済み

CHAR

サポート済み

VARCHAR

サポート済み

STRING

サポート済み

DATE

サポート済み

DATEV2

サポート済み

DATETIME

サポート済み

DATETIMEV2

サポート済み

ARRAY

サポート済み

JSONB

サポート済み

BITMAP

サポートされていません

HLL (HyperLogLog)

サポートされていません

QUANTILE_STATE

サポートされていません

準備

DataWorks でデータを同期する前に、このトピックで説明されているように SelectDB 環境を準備する必要があります。これにより、SelectDB データ同期タスクを構成して実行するときに、サービスが期待どおりに実行されるようになります。以下のセクションでは、必要な準備について説明します。

準備 1: SelectDB バージョンの確認

Data Integration には SelectDB のバージョン要件があります。詳細については、「サポートされている SelectDB バージョン」をご参照ください。SelectDB コンソールで SelectDB のバージョンが要件を満たしているかどうかを確認できます。

準備 2: アカウントの作成と権限の構成

DataWorks がデータソースにアクセスするには、専用の SelectDB アカウントを作成する必要があります。SelectDB データウェアハウスのデフォルトの admin ユーザーを使用してログインする場合は、admin ユーザーのパスワードを設定する必要があります。

準備 3: SelectDB のネットワーク接続の構成

SelectDB は、プライベートネットワークまたはインターネット経由の接続をサポートします。Data Integration では、どちらのネットワークタイプでも SelectDB に接続できます。

  1. プライベートネットワーク経由で接続: プライベートネットワーク接続は、より高い帯域幅とより安定した接続を提供します。この方法を推奨します。プライベートネットワーク接続を使用する前に、ネットワーク設定ドキュメントで説明されているようにエンドポイントを作成する必要があります。エンドポイントが作成され、そのステータスが [作成中] から [利用可能] に変わり、接続ステータスが [接続中] から [接続済み] に変わったら、エンドポイントが存在する VPC をリソースグループの VPC にアタッチする必要があります。詳細については、「ネットワーク接続ソリューション」をご参照ください。

  2. インターネット経由で接続: リソースグループの EIP を SelectDB ホワイトリストに追加する必要があります。構成の詳細については、「ホワイトリストを追加する」をご参照ください。

データソースの追加

DataWorks で同期タスクを開発する前に、「データソース管理」の手順に従って、必要なデータソースを DataWorks に追加する必要があります。データソースを追加する際、DataWorks コンソールでパラメーターの infotip を表示して、パラメーターの意味を理解できます

次のセクションでは、SelectDB データソースのいくつかの設定項目について説明します:

  • [MySQL 接続アドレス]: Java Database Connectivity (JDBC) 接続文字列を入力します。SelectDB コンソールの [接続方法] > [その他の方法] セクションから [JDBC 接続文字列] をコピーできます。パブリック IP とプライベート IP の両方がサポートされています。

  • [HTTP 接続アドレス]: HTTP プロトコルエンドポイントを入力します。SelectDB コンソールの [接続方法] > [その他の方法] セクションから [HTTP プロトコルエンドポイント] をコピーできます。パブリック IP とプライベート IP の両方がサポートされています。

  • [ユーザー名]: SelectDB データウェアハウスのユーザー名を入力します。

  • [パスワード]: SelectDB データウェアハウスの指定されたユーザー名のパスワードを入力します。

データ同期タスクの開発

同期タスクの構成のエントリポイントと手順については、次の構成ガイドをご参照ください。

単一テーブルのオフライン同期タスクの構成ガイド

付録: SelectDB スクリプトデモとパラメーターの説明

コードエディタを使用したバッチ同期タスクの構成

コードエディタを使用してバッチ同期タスクを構成する場合は、統一されたスクリプトフォーマット要件に基づいてスクリプト内の関連パラメーターを構成する必要があります。詳細については、「コードエディタでタスクを構成する」をご参照ください。以下の情報では、コードエディタを使用してバッチ同期タスクを構成する際にデータソースに対して構成する必要があるパラメーターについて説明します。

Writer スクリプトデモ

{
  "stepType": "selectdb",// プラグイン名。
  "parameter":
  {
    "postSql":// データ同期タスクの実行後に実行される SQL 文。
    [],
    "preSql":
    [],// データ同期タスクの実行前に実行される SQL 文。
    "datasource":"selectdb_datasource",// データソース名。
    "table": "selectdb_table_name",// テーブル名。
    "column":
    [
      "id",
      "table_id",
      "table_no",
      "table_name",
      "table_status"
    ],
    "loadProps":{
      "format":"csv",// CSV フォーマットを指定します。
      "column_separator": "\\x01",// 列区切り文字を指定します。
      "line_delimiter": "\\x02"// 行区切り文字を指定します。
    }
  },
  "name": "Writer",
  "category": "writer"
}

Writer スクリプトパラメーター

パラメーター

説明

必須

デフォルト値

datasource

データソースの名前。コードエディタはデータソースの追加をサポートしています。このパラメーターの値は、追加されたデータソースの名前と同じである必要があります。

はい

なし

table

同期するテーブルの名前。

はい

なし

column

データを書き込むターゲットテーブルの列。列名をコンマ (,) で区切ります。例: "column":["id","name","age"]。すべての列に順番にデータを書き込む場合は、(*) を使用します。例: "column":["*"]

はい

なし

preSql

データ同期タスクの実行前に実行される SQL 文。コードレス UI は 1 つの SQL 文のみをサポートします。コードエディタは複数の SQL 文をサポートします。たとえば、タスクの実行前にテーブルから古いデータをクリアできます。

いいえ

なし

postSql

データ同期タスクの実行後に実行される SQL 文。コードレス UI は 1 つの SQL 文のみをサポートします。コードエディタは複数の SQL 文をサポートします。たとえば、タスクの実行後にタイムスタンプを追加できます。

いいえ

なし

maxBatchRows

インポートされる各データバッチの最大行数。このパラメーターと batchSize パラメーターは、各バッチのインポートサイズを制御します。バッチ内のデータがいずれかのしきい値に達すると、そのバッチのインポートが開始されます。

いいえ

500000

batchSize

インポートされる各データバッチの最大データ量。このパラメーターと maxBatchRows パラメーターは、各バッチのインポートサイズを制御します。バッチ内のデータがいずれかのしきい値に達すると、そのバッチのインポートが開始されます。

いいえ

94371840

maxRetries

データバッチのインポートに失敗した後の再試行回数。

いいえ

3

labelPrefix

アップロードされる各ファイルのラベルプレフィックス。最終的なラベルは、labelPrefix + UUID で構成され、グローバルに一意のラベルを形成します。これにより、データが繰り返しインポートされないようにします。

いいえ

datax_selectdb_writer_

loadProps

COPY INTO のリクエストパラメーター。このパラメーターは、主にインポートされるデータのフォーマットを構成するために使用されます。デフォルトでは、データは JSON フォーマットでインポートされます。loadProps が構成されていないか、"loadProps":{} に設定されている場合、次の構成に示すように、デフォルトの JSON フォーマットが使用されます。(現在、SelectDB は strip_outer_array=true のみをサポートしています)。

"loadProps": {
    "format": "json",
    "strip_outer_array":true
}

CSV フォーマットでデータをインポートするには、次の例に示すように、フォーマットを CSV として指定し、行と列のデリミタを構成できます。行と列のデリミタを指定しない場合、インポートされたすべてのデータは文字列に変換されます。タブ文字 (\t) が列区切り文字として使用され、改行文字 (\n) が行区切り文字として使用されます。このデータは、SelectDB にインポートするために CSV ファイルに結合されます。

"loadProps": {
    "format":"csv",
    "column_separator": "\\x01",
    "line_delimiter": "\\x02"
}

いいえ

なし

clusterName

SelectDB Cloud クラスターの名前。SelectDB コンソールで名前を表示できます。

いいえ

なし

flushInterval

データバッチを書き込む時間間隔 (ミリ秒単位)。maxBatchRows および batchSize パラメーターの値が大きい場合、システムは指定されたデータ量に達する前に書き込み間隔に基づいてデータをインポートすることがあります。

いいえ

30000