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

DataWorks:SelectDB

最終更新日:Apr 21, 2026

DataWorks のデータ統合機能を使用すると、単一テーブルまたはデータベース全体のオフライン同期を通じて、SelectDB にデータを書き込むことができます。このトピックでは、サポートされているデータ同期機能について説明します。

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

SelectDB Writer は MySQL Driver 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 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 バージョンの確認

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

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

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

準備 3:SelectDB のネットワーク接続の設定

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

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

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

データソースの追加

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

以下に、SelectDB データソースのいくつかの設定項目について説明します。

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

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

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

  • Password:指定したユーザー名のパスワードを入力します。

データ同期タスクの開発

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

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

データベース全体のオフライン同期の設定

付録: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

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

いいえ

30000