Halaman ini menjelaskan cara memuat data dari instance Amazon Redshift ke Google Cloud dengan Cloud Data Fusion. Konektor sumber Redshift memungkinkan Anda menyinkronkan tabel dari set data Redshift ke tujuan, seperti BigQuery. Konektor ini juga memungkinkan Anda membuat kueri SQL yang dapat dikonfigurasi.
Sebelum memulai
- Cloud Data Fusion versi 6.9.0 dan yang lebih baru mendukung sumber Redshift.
Saat mengonfigurasi konektor sumber Redshift, Anda dapat memilih koneksi yang sudah ada dan dapat digunakan kembali, atau membuat koneksi baru satu kali. Untuk mengetahui informasi selengkapnya, lihat Mengelola koneksi. Saat menggunakan kembali koneksi, perhatikan hal-hal berikut:
- Anda tidak perlu memberikan kredensial.
- Koneksi yang ada memberikan informasi skema dan nama tabel yang digunakan untuk membuat kueri impor.
Mengonfigurasi plugin
Buka antarmuka web Cloud Data Fusion lalu klik Studio.
Pastikan Data Pipeline - Batch dipilih (bukan Realtime).
Di menu Sumber, klik Redshift. Node Redshift akan muncul di pipeline Anda. Jika Anda tidak melihat sumber Redshift di halaman Studio, deploy konektor sumber Redshift dari Hub Cloud Data Fusion.
Untuk mengonfigurasi sumber, buka node Redshift, lalu klik Properties.
Masukkan properti berikut. Untuk mengetahui daftar lengkapnya, lihat Properti.
- Masukkan label untuk node Redshift—misalnya,
Redshift tables. Masukkan detail koneksi. Anda dapat menyiapkan koneksi baru satu kali, atau koneksi yang sudah ada dan dapat digunakan kembali.
Koneksi baru
Untuk menambahkan koneksi sekali pakai ke Redshift, ikuti langkah-langkah berikut:
- Biarkan Gunakan koneksi dinonaktifkan.
- Di kolom JDBC driver name, masukkan nama driver. Redshift mendukung dua jenis driver JDBC: CData dan Amazon. Untuk mengetahui informasi selengkapnya, lihat Mengupload driver JDBC.
- Di kolom Host, masukkan endpoint cluster Redshift—misalnya,
cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com. - Opsional: Di kolom Port, masukkan nomor port database, misalnya,
5439. Jika database Redshift Anda memerlukan autentikasi, lakukan hal berikut:
- Di kolom Nama pengguna, masukkan nama untuk database.
- Di kolom Password, masukkan sandi untuk database.
- Opsional: Di kolom Arguments, masukkan argumen nilai kunci. Untuk menggunakan driver CData, berikan argumen koneksi, seperti RTK atau OEMKey, jika berlaku.
- Di kolom Name, masukkan nama—misalnya,
SN-PC-Source-01-01-2024. - Masukkan nama database target di kolom Database, misalnya,
datafusiondb.
Koneksi yang dapat digunakan kembali
Untuk menggunakan kembali koneksi yang ada, ikuti langkah-langkah berikut:
- Aktifkan Gunakan koneksi.
- Klik Jelajahi koneksi.
Klik nama koneksi.
Opsional: Jika koneksi tidak ada dan Anda ingin membuat koneksi baru yang dapat digunakan kembali, klik Tambahkan koneksi dan lihat langkah-langkah di tab Koneksi baru di halaman ini.
Di kolom Import query, masukkan kueri menggunakan nama skema dan tabel dari sumber Redshift Anda—misalnya,
Select * from "public"."users".Opsional: Masukkan properti Lanjutan, seperti kueri pembatas atau jumlah pemisahan. Untuk semua deskripsi properti, lihat Properti.
- Masukkan label untuk node Redshift—misalnya,
Opsional: Klik Validasi dan atasi error yang ditemukan.
Klik Tutup. Properti disimpan dan Anda dapat melanjutkan membangun pipeline data di antarmuka web Cloud Data Fusion.
Properti
| Properti | Mendukung makro untuk otomatisasi | Properti wajib | Deskripsi |
|---|---|---|---|
| Label | Tidak | Ya | Nama node dalam pipeline data Anda. |
| Menggunakan koneksi | Tidak | Tidak | Telusuri koneksi ke sumber. Jika Gunakan koneksi diaktifkan, Anda tidak perlu memberikan kredensial. |
| Koneksi | Ya | Ya | Nama koneksi yang akan digunakan. Jika Gunakan koneksi dipilih, kolom ini akan muncul. Informasi database dan tabel diberikan oleh koneksi. |
| Nama driver JDBC | Ya | Ya | Nama driver JDBC yang akan digunakan. Jika Gunakan koneksi tidak dipilih, kolom ini akan muncul. |
| Host | Ya | Ya | Endpoint cluster Amazon Redshift. Jika Gunakan koneksi tidak dipilih, kolom ini akan muncul. |
| Port | Ya | Tidak | Port tempat Redshift berjalan. Jika Gunakan koneksi tidak dipilih, kolom ini akan muncul. |
| Username | Ya | Tidak | Identitas pengguna untuk terhubung ke database yang ditentukan. Jika Gunakan koneksi tidak dipilih, kolom ini akan muncul. |
| Password | Ya | Tidak | Sandi yang akan digunakan untuk terhubung ke database yang ditentukan. Jika Gunakan koneksi tidak dipilih, kolom ini akan muncul. |
| Argumen koneksi | Ya | Tidak | Daftar pasangan nilai kunci string arbitrer sebagai argumen koneksi. Argumen ini diteruskan ke driver JDBC sebagai argumen koneksi untuk driver JDBC yang mungkin memerlukan konfigurasi tambahan. Jika Gunakan koneksi tidak dipilih, kolom ini akan muncul. |
| Nama referensi | Tidak | Ya | Mengidentifikasi sumber ini secara unik untuk silsilah, memberi anotasi metadata, dan layanan lainnya. |
| Database | Ya | Ya | Nama database Redshift. Untuk memilih data, klik Jelajahi database. |
| Kueri impor | Ya | Ya | Kueri SELECT yang akan digunakan untuk mengimpor data dari
tabel yang ditentukan. |
| Kueri pembatas | Ya | Tidak | Kueri SQL yang menampilkan nilai minimum dan maksimum dari kolom
splitBy. Sebagai contoh,
SELECT MIN(id),MAX(id) FROM table. Tidak diperlukan jika
numSplits disetel ke satu. |
| Pisahkan kolom | Ya | Tidak | Nama kolom yang digunakan untuk membuat pemisahan. Tidak diperlukan jika
numSplits disetel ke satu. |
| Jumlah pemisahan | Ya | Tidak | Jumlah pemisahan yang akan dibuat. |
| Ukuran | Ya | Tidak | Jumlah baris yang akan diambil sekaligus per pemisahan. Ukuran pengambilan yang lebih besar
dapat menghasilkan impor yang lebih cepat, dengan konsekuensi penggunaan
memori yang lebih tinggi. Jika tidak ditentukan, defaultnya adalah 1000. |
Pemetaan jenis data
Tabel berikut adalah daftar jenis data Redshift dengan jenis CDAP yang sesuai:
| Jenis data Redshift | Jenis data skema CDAP |
|---|---|
bigint |
long |
boolean |
boolean |
character |
string |
character varying |
string |
date |
date |
double precision |
double |
geometry |
bytes |
hllsketch |
string |
integer |
int |
json |
string |
numeric(presisi,
skala)/decimal(presisi, skala) |
decimal |
numeric dengan presisi 0 |
string |
real |
float |
smallint |
int |
super |
string |
text |
string |
time [ (p) ] tanpa zona waktu |
time |
time [ (p) ] dengan zona waktu |
string |
timestamp [ (p) ] tanpa zona waktu |
timestamp |
timestamp [ (p) ] dengan zona waktu |
timestamp |
varbyte |
byte |
xml |
string |
Praktik terbaik
Praktik terbaik berikut berlaku saat Anda terhubung ke cluster Redshift dari Google Cloud.
Menggunakan daftar alamat IP yang diizinkan
Untuk mencegah akses dari sumber yang tidak sah dan membatasi akses ke alamat IP tertentu, aktifkan kontrol akses di cluster Redshift.
Jika Anda menggunakan kontrol akses Redshift, untuk mengakses cluster di Cloud Data Fusion, ikuti langkah-langkah berikut:
- Dapatkan alamat IP eksternal layanan atau mesin di Google Cloud yang harus terhubung ke cluster Redshift, seperti IP Server Proxy (lihat Melihat alamat IP). Untuk cluster Managed Service untuk Apache Spark, dapatkan alamat IP semua node master dan turunan.
Tambahkan alamat IP ke daftar yang diizinkan di grup keamanan dengan membuat aturan masuk untuk alamat IP mesin Google Cloud .
Tambahkan properti koneksi di Wrangler dan uji:
- Buka instance Cloud Data Fusion di antarmuka web.
- Klik Wrangler > Add connection dan buat koneksi baru untuk Redshift.
- Masukkan semua properti koneksi.
- Klik Uji koneksi dan selesaikan masalah apa pun.
Untuk membuat beberapa pemisahan, gunakan kueri pembatas
Untuk beberapa pemisahan, gunakan kueri pembatas untuk mengelola cluster multi-node. Dalam skenario saat Anda mengekstrak data dari Redshift dan mendistribusikan beban secara merata di setiap node, konfigurasi kueri pembatas di properti konektor sumber Redshift.
- Di pipeline Cloud Data Fusion Anda di halaman Studio, buka node Redshift, lalu klik Properties.
Di properti Advanced, tentukan nilai berikut:
- Masukkan jumlah pemisahan yang akan dibuat.
- Masukkan ukuran pengambilan untuk setiap pemisahan.
- Masukkan kueri pembatas yang akan diterapkan ke cluster Redshift multi-node.
- Masukkan nama kolom Split column.
Misalnya, anggaplah Anda memiliki kasus penggunaan berikut:
- Anda memiliki tabel yang berisi 10 juta data.
- Laporan memiliki kolom ID unik yang disebut
id. - Cluster Redshift memiliki 4 node.
Tujuan: Untuk memanfaatkan potensi cluster, Anda berencana membuat beberapa pemisahan. Untuk melakukannya, gunakan konfigurasi properti berikut:
Di kolom Bounding query, masukkan kueri berikut:
SELECT MIN(id), MAX(id) FROM tableNameDalam kueri ini,
idadalah nama kolom tempat pemisahan diterapkan.Di kolom Pisahkan kolom, masukkan nama kolom,
id.Masukkan jumlah pemisahan dan ukuran pengambilan. Properti ini saling terhubung, sehingga Anda dapat menghitung pemisahan berdasarkan ukuran pengambilan, atau sebaliknya. Untuk contoh ini, masukkan yang berikut.
Di kolom Jumlah pemisahan, masukkan
40. Dalam contoh ini, jika tabel memiliki sepuluh juta data, pembuatan 40 pemisahan akan menghasilkan setiap pemisahan yang berisi 250.000 data.Di kolom Ukuran pengambilan, masukkan
250,000.
Langkah berikutnya
- Lihat plugin Cloud Data Fusion.