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

DataWorks:Amazon Redshift

最終更新日:Mar 01, 2026

Amazon Redshift のデータソースは、Amazon Redshift からの読み取りと Amazon Redshift への書き込みを行うための双方向チャンネルを提供します。これにより、コードレス UI またはコードエディタを使用してデータ同期タスクを構成できます。このトピックでは、Amazon Redshift のデータ同期機能について説明します。

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

Amazon Redshift は redshift-jdbc4.2 ドライバー 2.1.0.1 を使用します。ドライバーの機能の詳細については、「Amazon Redshift 用 JDBC ドライバーの構成」をご参照ください。

サポートされているフィールドの型

Amazon Redshift のフィールドの型の詳細については、「公式 Amazon Redshift ドキュメント」をご参照ください。次の表に、サポートされている主要なフィールドの型を示します。

Amazon Redshift の型

SQL の型

Java の型

BIGINT

SQL_BIGINT

Long

BOOLEAN

SQL_BIT

Boolean

CHAR

SQL_CHAR

String

DATE

SQL_TYPE_DATE

java.sql.Date

DECIMAL

SQL_NUMERIC

BigDecimal

DOUBLE PRECISION

SQL_DOUBLE

Double

GEOMETRY

SQL_ LONGVARBINARY

byte[]

INTEGER

SQL_INTEGER

Integer

OID

SQL_BIGINT

Long

SUPER

SQL_LONGVARCHAR

String

REAL

SQL_REAL

Float

SMALLINT

SQL_SMALLINT

Short

TEXT

SQL_VARCHAR

String

TIME

SQL_TYPE_TIME

java.sql.Time

TIMETZ

SQL_TYPE_TIME

java.sql.Time

TIMESTAMP

SQL_TYPE_ TIMESTAMP

java.sql.Timestamp

TIMESTAMPTZ

SQL_TYPE_ TIMESTAMP

java.sql.Timestamp

VARCHAR

SQL_VARCHAR

String

データ同期の事前準備

DataWorks でデータを同期する前に、データソースと サーバーレスリソースグループ または Data Integration のデータ統合専用リソースグループとの間にネットワーク接続を確立し、リソースグループが内部ネットワーク経由でデータソースにアクセスできるようにする必要があります。データ同期には、サーバーレスリソースグループを使用することを推奨します。ネットワーク接続の確立方法の詳細については、「ネットワーク接続ソリューション」をご参照ください。

データソースの作成

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

以下に、Amazon Redshift データソースのいくつかのパラメーターについて説明します。

  • [JDBC URL]: Java Database Connectivity (JDBC) 接続文字列を入力します。文字列には、IP アドレス、ポート番号、データベース、および接続パラメーターを含める必要があります。パブリック IP アドレスとプライベート IP アドレスの両方がサポートされています。パブリック IP アドレスを使用する場合は、Data Integration リソースグループが Amazon Redshift ホストにアクセスできることを確認してください。

  • [ユーザー名]: Amazon Redshift データベースのユーザー名を入力します。

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

データ同期タスクの開発

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

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

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

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

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

リーダーのスクリプト例

{
  "stepType": "redshift"
  "parameter":
  {
    "datasource":"redshift_datasource",
    "table": "redshift_table_name",
    "where": "xxx=3",
    "splitPk": "id",
    "column":
    [
      "id",
      "table_id",
      "table_no",
      "table_name",
      "table_status"
    ]
  },
  "name": "Reader",
  "category": "reader"
}

リーダーのスクリプトパラメーター

スクリプトパラメーター

説明

必須

デフォルト値

datasource

データソースの名前。コードエディタでは、このパラメーターの値は追加するデータソースの名前と一致する必要があります。

Yes

None

table

ソーステーブルの名前。

Yes

None

column

同期するフィールドのリスト。フィールドはコンマで区切ります。例: "column":["id","name","age"]

すべての列を同期するには、アスタリスク (*) を使用します。例: "column":["*"]

Yes

None

where

フィルター条件。指定された columntable、および where パラメーターから SQL 文が構築され、データが抽出されます。たとえば、テスト中に where 条件を limit 10 に設定できます。

典型的なビジネスシナリオでは、当日データを同期する場合があります。これを行うには、where 条件を gmt_create>$bizdate に設定します。

  • where 条件により、効率的な増分同期が可能になります。

  • このパラメーターを設定しないか、空のままにした場合、テーブルのすべてのデータが同期されます。

No

None

splitPk

splitPk を指定すると、システムは指定されたフィールドをデータパーティション分割に使用します。これにより、データ同期効率を向上させるために同時タスクが開始されます。

No

None

ライターのスクリプト例

{
  "stepType": "redshift",// プラグイン名。
  "parameter":
  {
    "postSql":["delete from XXX;"],
    "preSql":["delete from XXX;"],
    "datasource":"redshift_datasource",// データソース名。
    "table": "redshift_table_name",// テーブル名。
    "writeMode": "insert",
    "batchSize": 2048,
    "column":
    [
      "id",
      "table_id",
      "table_no",
      "table_name",
      "table_status"
    ]
  },
  "name": "Writer",
  "category": "writer"
}

ライターのスクリプトパラメーター

スクリプトパラメーター

説明

必須

デフォルト値

datasource

データソースの名前。コードエディタでは、このパラメーターの値は追加するデータソースの名前と一致する必要があります。

Yes

None

table

宛先テーブルの名前。

Yes

None

column

データを書き込む宛先テーブルのフィールド。フィールドはコンマで区切ります。例: "column":["id","name","age"]

すべての列に順番に書き込むには、アスタリスク (*) を使用します。例: "column":["*"]

Yes

None

preSql

データ同期タスクが開始される前に実行する SQL 文。コードレス UI は 1 つの SQL 文のみをサポートします。コードエディタは、古いデータをパージする文など、複数の SQL 文をサポートします。

No

None

postSql

データ同期タスクが完了した後に実行する SQL 文。コードレス UI は 1 つの SQL 文のみをサポートします。コードエディタは、タイムスタンプを追加する文など、複数の SQL 文をサポートします。

No

None

batchSize

各バッチでインポートするデータエントリの最大数。

No

2048

writeMode

insert のみがサポートされています。

No

insert