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

DataWorks:SelectDB

最終更新日:Mar 14, 2026

DataWorks の Data Integration を使用すると、単一テーブルまたはデータベース全体のオフライン同期を介して Alibaba Cloud SelectDB にデータを書き込むことができます。このトピックでは、サポートされている機能と設定プロセスについて概説します。

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

SelectDB ライターは MySQL ドライバー 5.1.47 を使用します。ドライバーの機能に関する詳細については、「MySQL コネクタ」をご参照ください。このドライバーは、以下のバージョンをサポートしています。

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

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

制限事項

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

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

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

SelectDB フィールドタイプ

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

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 コンソールでパラメーターの説明を表示して、パラメーターの意味を理解できます

以下に、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) が行区切り文字として使用されます。このデータは CSV ファイルに結合され、SelectDB にインポートされます。

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

いいえ

なし

clusterName

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

いいえ

なし

flushInterval

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

いいえ

30000