Halaman ini menjelaskan cara memuat data dari instance Amazon Redshift keGoogle 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 satu kali yang baru. Untuk mengetahui informasi selengkapnya, lihat Mengelola koneksi. Saat Anda 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 dan klik Studio.
Pastikan Data Pipeline - Batch dipilih (bukan Real-Time).
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 Cloud Data Fusion Hub.
Untuk mengonfigurasi sumber, buka node Redshift, lalu klik Properti.
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 satu kali ke Redshift, ikuti langkah-langkah berikut:
- Tetap nonaktifkan Gunakan koneksi.
- Di kolom Nama driver JDBC, 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 ada.
- 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 Advanced, seperti kueri pembatas atau jumlah pemisahan. Untuk semua deskripsi properti, lihat Properti.
- Masukkan label untuk node Redshift—misalnya,
Opsional: Klik Validasi dan perbaiki error yang ditemukan.
Klik
Close. Properti disimpan dan Anda dapat terus mem-build pipeline data di antarmuka web Cloud Data Fusion.
Properti
Properti | Mendukung makro untuk otomatisasi | Properti wajib | Deskripsi |
---|---|---|---|
Label | Tidak | Ya | Nama node di pipeline data Anda. |
Menggunakan koneksi | Tidak | Tidak | Jelajahi 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 disediakan 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 | Secara unik mengidentifikasi sumber ini untuk garis keturunan, metadata anotasi, dan layanan lainnya. |
Database | Ya | Ya | Nama database Redshift. Untuk memilih data, klik Jelajahi database. |
Mengimpor kueri | Ya | Ya | Kueri SELECT yang akan digunakan untuk mengimpor data dari tabel yang ditentukan. |
Kueri pembatas | Ya | Tidak | Kueri SQL yang menampilkan nilai min dan maks dari
kolom splitBy . Sebagai contoh,
SELECT MIN(id),MAX(id) FROM table . Tidak diperlukan jika
numSplits ditetapkan ke satu. |
Memisahkan kolom | Ya | Tidak | Nama kolom yang digunakan untuk membuat pemisahan. Tidak diperlukan jika
numSplits ditetapkan ke satu. |
Jumlah pemisahan | Ya | Tidak | Jumlah pemisahan yang akan dibuat. |
Ukuran | Ya | Tidak | Jumlah baris yang akan diambil sekaligus per bagian. 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 (precision,
scale)/decimal (precision, scale) |
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 komputer di Google Cloud yang harus terhubung ke cluster Redshift, seperti IP Server Proxy (lihat Melihat alamat IP). Untuk cluster Dataproc, 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 Google Cloud komputer.
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, konfigurasikan kueri pembatas di properti konektor sumber Redshift.
- Di pipeline Cloud Data Fusion pada halaman Studio, buka node Redshift, lalu klik Properties.
Di properti Advanced, tentukan hal berikut:
- Masukkan jumlah bagian yang akan dibuat.
- Masukkan ukuran pengambilan untuk setiap bagian.
- Masukkan kueri pembatas untuk 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 ini memiliki kolom ID unik yang disebut
id
. - Cluster Redshift memiliki 4 node.
Tujuan: Untuk memanfaatkan potensi cluster, Anda berencana untuk membuat beberapa pemisahan. Untuk melakukannya, gunakan konfigurasi properti berikut:
Di kolom Bounding query, masukkan kueri berikut:
SELECT MIN(id), MAX(id) FROM tableName
Dalam kueri ini,
id
adalah nama kolom tempat pemisahan diterapkan.Di kolom Split column, masukkan nama kolom,
id
.Masukkan jumlah bagian dan ukuran pengambilan. Properti ini terhubung, sehingga Anda dapat menghitung pemisahan berdasarkan ukuran pengambilan, atau sebaliknya. Untuk contoh ini, masukkan hal berikut.
Di kolom Jumlah pemisahan, masukkan
40
. Dalam contoh ini, dengan tabel yang memiliki sepuluh juta data, membuat 40 pemisahan akan menghasilkan setiap pemisahan yang berisi 250.000 data.Di kolom Fetch size, masukkan
250,000
.
Langkah berikutnya
- Lihat plugin Cloud Data Fusion.