全部产品
Search
文档中心

DataWorks:Sumber data Amazon Redshift

更新时间:Jul 06, 2025

DataWorks menyediakan Amazon Redshift Reader dan Amazon Redshift Writer untuk membaca dan menulis data ke sumber data Amazon Redshift. Anda dapat mengonfigurasi tugas sinkronisasi menggunakan antarmuka tanpa kode (UI) atau editor kode. Topik ini menjelaskan cara menyinkronkan data dari atau ke sumber data Amazon Redshift.

Versi Amazon Redshift yang didukung

Driver yang digunakan oleh Amazon Redshift adalah redshift-jdbc4.2 Driver 2.1.0.1. Untuk informasi lebih lanjut tentang kemampuan driver, lihat Konfigurasikan Versi Driver JDBC untuk Amazon Redshift.

Pemetaan tipe data

Untuk informasi tentang pemetaan antara tipe data Amazon Redshift dan tipe data SQL serta pemetaan antara tipe data Amazon Redshift dan tipe data Java, lihat Dokumentasi Resmi Amazon Redshift. Tabel berikut mencantumkan pemetaan tipe data.

Tipe data Amazon Redshift

Tipe data SQL

Tipe data 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

Membuat koneksi jaringan untuk sumber data Amazon Redshift

Sebelum menjalankan tugas sinkronisasi yang dikonfigurasi untuk sumber data Amazon Redshift, Anda harus membuat koneksi jaringan antara sumber data dan grup sumber daya eksklusif Anda untuk Data Integration melalui jaringan internal. Untuk informasi lebih lanjut, lihat Membuat Koneksi Jaringan antara Grup Sumber Daya dan Sumber Data.

Mengembangkan tugas sinkronisasi

Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat bagian berikut. Untuk pengaturan parameter, lihat infotip setiap parameter di tab konfigurasi tugas sinkronisasi.

Menambahkan sumber data

Sebelum mengonfigurasi tugas sinkronisasi untuk menyinkronkan data dari atau ke sumber data tertentu, Anda harus menambahkan sumber data ke DataWorks. Untuk informasi lebih lanjut, lihat Tambahkan dan Kelola Sumber Data. Anda harus mengonfigurasi parameter berikut saat menambahkan sumber data Amazon Redshift ke DataWorks:

  • JDBC URL: Tentukan string koneksi JDBC yang berisi alamat IP, nomor port, nama database, dan parameter koneksi. Anda dapat menggunakan alamat IP publik atau pribadi. Jika menggunakan alamat IP publik, pastikan grup sumber daya eksklusif Anda untuk Data Integration dapat mengakses host tempat sumber data Amazon Redshift diterapkan.

  • Username: Tentukan nama pengguna database Amazon Redshift yang ingin Anda hubungkan.

  • Password: Tentukan kata sandi database Amazon Redshift yang ingin Anda hubungkan.

Konfigurasikan tugas sinkronisasi batch untuk menyinkronkan data tabel tunggal

Lampiran: Kode dan parameter

Konfigurasikan tugas sinkronisasi batch menggunakan editor kode

Jika Anda menggunakan editor kode untuk mengonfigurasi tugas sinkronisasi batch, Anda harus mengonfigurasi parameter untuk pembaca dan penulis sumber data terkait sesuai dengan persyaratan format di editor kode. Untuk informasi lebih lanjut tentang persyaratan format, lihat Konfigurasikan Tugas Sinkronisasi Batch Menggunakan Editor Kode. Informasi berikut menjelaskan detail konfigurasi parameter untuk pembaca dan penulis di editor kode.

Kode untuk Amazon Redshift Reader dan parameter dalam kode untuk Amazon Redshift Reader

Kode untuk Amazon Redshift Reader

{
  "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"
}

Parameter dalam kode untuk Amazon Redshift Reader

Parameter

Deskripsi

Diperlukan

Nilai default

datasource

Nama sumber data. Harus sama dengan nama sumber data yang telah ditambahkan. Anda dapat menambahkan sumber data menggunakan editor kode.

Ya

Tidak ada nilai default

table

Nama tabel dari mana Anda ingin membaca data.

Ya

Tidak ada nilai default

column

Nama kolom dari mana Anda ingin membaca data. Pisahkan nama dengan koma (,), seperti "column":["id","name","age"].

Jika Anda ingin membaca data dari semua kolom di tabel sumber, atur parameter ini ke asterisk (*), seperti "column":["*"].

Ya

Tidak ada nilai default

where

Klausa WHERE. Tugas sinkronisasi batch menggabungkan nilai parameter column, table, dan where untuk membentuk pernyataan SQL dan mengeksekusi pernyataan SQL untuk membaca data dari tabel sumber. Saat melakukan pengujian, Anda dapat mengatur parameter where untuk membatasi 10.

Untuk membaca data yang dihasilkan pada hari saat ini, Anda dapat mengatur parameter where ke gmt_create > $bizdate.

  • Anda dapat menggunakan klausa WHERE untuk membaca data tambahan.

  • Jika parameter where tidak disediakan atau dibiarkan kosong, Amazon Redshift Reader membaca semua data dari tabel sumber.

Tidak

Tidak ada nilai default

splitPk

Bidang yang digunakan untuk sharding data. Jika Anda mengonfigurasi parameter ini, tabel sumber akan di-sharding berdasarkan nilai dari parameter ini. Data Integration kemudian menjalankan thread paralel untuk membaca data. Dengan cara ini, data dapat disinkronkan lebih efisien.

Tidak

Tidak ada nilai default

Kode untuk Amazon Redshift Writer dan parameter dalam kode untuk Amazon Redshift Writer

Kode untuk Amazon Redshift Writer

{
  "stepType": "redshift",// Nama plugin. 
  "parameter":
  {
    "postSql":["delete from XXX;"],
    "preSql":["delete from XXX;"],
    "datasource":"redshift_datasource",// Nama sumber data. 
    "table": "redshift_table_name",// Nama tabel. 
    "writeMode": "insert",
    "batchSize": 2048,
    "column":
    [
      "id",
      "table_id",
      "table_no",
      "table_name",
      "table_status"
    ]
  },
  "name": "Writer",
  "category": "writer"
}

Parameter dalam kode untuk Amazon Redshift Writer

Parameter

Deskripsi

Diperlukan

Nilai default

datasource

Nama sumber data. Harus sama dengan nama sumber data yang telah ditambahkan. Anda dapat menambahkan sumber data menggunakan editor kode.

Ya

Tidak ada nilai default

table

Nama tabel ke mana Anda ingin menulis data.

Ya

Tidak ada nilai default

column

Nama kolom ke mana Anda ingin menulis data. Pisahkan nama dengan koma (,), seperti "column":["id","name","age"].

Jika Anda ingin menulis data ke semua kolom di tabel tujuan, atur parameter ini ke asterisk (*), seperti "column":["*"].

Ya

Tidak ada nilai default

preSql

Pernyataan SQL yang ingin Anda eksekusi sebelum tugas sinkronisasi batch dijalankan. Misalnya, Anda dapat mengatur parameter ini ke pernyataan SQL yang digunakan untuk menghapus data lama. Anda hanya dapat mengeksekusi satu pernyataan SQL di UI tanpa kode dan beberapa pernyataan SQL di editor kode.

Tidak

Tidak ada nilai default

postSql

Pernyataan SQL yang ingin Anda eksekusi setelah tugas sinkronisasi batch dijalankan. Misalnya, Anda dapat mengatur parameter ini ke pernyataan SQL yang digunakan untuk menambahkan timestamp. Anda hanya dapat mengeksekusi satu pernyataan SQL di UI tanpa kode dan beberapa pernyataan SQL di editor kode.

Tidak

Tidak ada nilai default

batchSize

Jumlah maksimum catatan data yang akan ditulis sekaligus.

Tidak

2048

writeMode

Mode penulisan. Atur nilainya menjadi insert.

Tidak

insert