DataWorks menyediakan Amazon Redshift Reader dan Amazon Redshift Writer untuk membaca data dari serta menulis data ke sumber data Amazon Redshift. Anda dapat mengonfigurasi tugas sinkronisasi untuk sumber data Amazon Redshift melalui antarmuka tanpa kode atau editor kode.
Versi Amazon Redshift yang didukung
Amazon Redshift menggunakan driver redshift-jdbc4.2 versi 2.1.0.1. Untuk informasi lebih lanjut tentang kemampuan driver tersebut, lihat Configure a JDBC driver version for Amazon Redshift.
Pemetaan tipe data
Tabel berikut menjelaskan pemetaan antara tipe data Amazon Redshift dan tipe data SQL/Java. Untuk informasi lebih lanjut, lihat dokumentasi resmi Amazon Redshift.
|
Amazon Redshift data type |
SQL data type |
Java data type |
|
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 |
Persiapan untuk sinkronisasi data
Sebelum melakukan sinkronisasi data di DataWorks, Anda harus membuat koneksi jaringan antara sumber data Anda dan serverless resource group atau grup sumber daya eksklusif untuk Integrasi Data agar kelompok sumber daya tersebut dapat mengakses sumber data melalui jaringan internal. Kami merekomendasikan penggunaan serverless resource group untuk sinkronisasi data. Untuk informasi tentang cara membuat koneksi jaringan, lihat Network connectivity solutions.
Buat sumber data
Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Data source management. Anda dapat melihat deskripsi parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Berikut adalah parameter utama untuk sumber data Amazon Redshift.
-
JDBC URL: String koneksi JDBC yang mencakup alamat IP, nomor port, database, dan parameter koneksi. Baik alamat IP publik maupun pribadi didukung. Jika Anda menggunakan alamat IP publik, pastikan resource group integrasi data dapat mengakses host tempat instans Amazon Redshift Anda berada.
-
Username: Username untuk database Amazon Redshift Anda.
-
Password: Password untuk username yang ditentukan.
Kembangkan tugas sinkronisasi data
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.
Konfigurasikan tugas sinkronisasi batch untuk menyinkronkan data dari satu tabel
-
Untuk informasi lebih lanjut tentang prosedur konfigurasi, lihat Configure a batch synchronization task by using the codeless UI dan Configure a batch synchronization task by using the code editor.
-
Untuk daftar lengkap parameter dan contoh skrip untuk editor kode, lihat Appendix: Script examples and parameter descriptions.
Lampiran: Contoh skrip dan deskripsi parameter
Konfigurasikan tugas sinkronisasi batch menggunakan editor kode
Jika Anda ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai dengan persyaratan format skrip terpadu. Untuk informasi lebih lanjut, lihat Script mode configuration. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengatur tugas sinkronisasi batch menggunakan editor kode.
Contoh skrip 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 Reader
|
Parameter |
Description |
Required |
Default value |
|
datasource |
Nama sumber data. Harus sesuai dengan nama sumber data yang telah Anda tambahkan di DataWorks. |
Yes |
No default value |
|
table |
Nama tabel sumber tempat data dibaca. |
Yes |
No default value |
|
column |
Kolom yang akan disinkronkan, dipisahkan koma. Contohnya, Untuk menyinkronkan semua kolom, gunakan tanda bintang (*). Contohnya, |
Yes |
No default value |
|
where |
Klausa WHERE. Tugas ini menggabungkan parameter column, table, dan where menjadi pernyataan SQL untuk membaca data dari tabel sumber. Untuk pengujian, Anda dapat mengaturnya menjadi limit 10. Untuk membaca data yang dihasilkan pada hari ini, Anda dapat mengatur parameter where menjadi gmt_create > $bizdate.
|
No |
No default value |
|
splitPk |
Kolom yang digunakan untuk sharding data. Saat ditentukan, sistem menggunakan thread paralel untuk menyinkronkan data, sehingga meningkatkan efisiensi. |
No |
No default value |
Contoh skrip Writer
{
"stepType": "redshift",// The plugin name.
"parameter":
{
"postSql":["delete from XXX;"],
"preSql":["delete from XXX;"],
"datasource":"redshift_datasource",// The data source name.
"table": "redshift_table_name",// The table name.
"writeMode": "insert",
"batchSize": 2048,
"column":
[
"id",
"table_id",
"table_no",
"table_name",
"table_status"
]
},
"name": "Writer",
"category": "writer"
}
Parameter Writer
|
Parameter |
Description |
Required |
Default |
|
datasource |
Nama sumber data, yang harus sesuai dengan nama yang dikonfigurasi di DataWorks. |
Yes |
N/A |
|
table |
Nama tabel tujuan. |
Yes |
N/A |
|
column |
Kolom tujuan tempat data ditulis, dipisahkan koma. Contohnya, Untuk menulis ke semua kolom secara berurutan, gunakan tanda bintang (*). Contohnya, |
Yes |
N/A |
|
preSql |
Pernyataan SQL yang dieksekusi sebelum tugas sinkronisasi dimulai. Misalnya, Anda dapat menghapus data lama dari tabel target. Anda dapat menentukan satu pernyataan di antarmuka tanpa kode atau beberapa pernyataan di editor kode. |
No |
N/A |
|
postSql |
Pernyataan SQL yang dieksekusi setelah tugas sinkronisasi selesai. Misalnya, Anda dapat menambahkan timestamp. Anda dapat menentukan satu pernyataan di antarmuka tanpa kode atau beberapa pernyataan di editor kode. |
No |
N/A |
|
batchSize |
Jumlah catatan yang ditulis per batch. |
No |
2048 |
|
writeMode |
Mode penulisan. Hanya |
No |
insert |