Sumber batch Redshift

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

  1. Buka antarmuka web Cloud Data Fusion lalu klik Studio.

  2. Pastikan Data Pipeline - Batch dipilih (bukan Realtime).

  3. 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.

  4. Untuk mengonfigurasi sumber, buka node Redshift, lalu klik Properties.

  5. Masukkan properti berikut. Untuk mengetahui daftar lengkapnya, lihat Properti.

    1. Masukkan label untuk node Redshift—misalnya, Redshift tables.
    2. 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:

      1. Biarkan Gunakan koneksi dinonaktifkan.
      2. 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.
      3. Di kolom Host, masukkan endpoint cluster Redshift—misalnya, cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com.
      4. Opsional: Di kolom Port, masukkan nomor port database, misalnya, 5439.
      5. Jika database Redshift Anda memerlukan autentikasi, lakukan hal berikut:

        1. Di kolom Nama pengguna, masukkan nama untuk database.
        2. Di kolom Password, masukkan sandi untuk database.
        3. Opsional: Di kolom Arguments, masukkan argumen nilai kunci. Untuk menggunakan driver CData, berikan argumen koneksi, seperti RTK atau OEMKey, jika berlaku.
        4. Di kolom Name, masukkan nama—misalnya, SN-PC-Source-01-01-2024.
        5. Masukkan nama database target di kolom Database, misalnya, datafusiondb.

      Koneksi yang dapat digunakan kembali

      Untuk menggunakan kembali koneksi yang ada, ikuti langkah-langkah berikut:

      1. Aktifkan Gunakan koneksi.
      2. Klik Jelajahi koneksi.
      3. Klik nama koneksi.

      4. 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.

    3. Di kolom Import query, masukkan kueri menggunakan nama skema dan tabel dari sumber Redshift Anda—misalnya, Select * from "public"."users".

    4. Opsional: Masukkan properti Lanjutan, seperti kueri pembatas atau jumlah pemisahan. Untuk semua deskripsi properti, lihat Properti.

  6. Opsional: Klik Validasi dan atasi error yang ditemukan.

  7. 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:

  1. 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.
  2. Tambahkan alamat IP ke daftar yang diizinkan di grup keamanan dengan membuat aturan masuk untuk alamat IP mesin Google Cloud .

  3. Tambahkan properti koneksi di Wrangler dan uji:

    1. Buka instance Cloud Data Fusion di antarmuka web.
    2. Klik Wrangler > Add connection dan buat koneksi baru untuk Redshift.
    3. Masukkan semua properti koneksi.
    4. 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.

  1. Di pipeline Cloud Data Fusion Anda di halaman Studio, buka node Redshift, lalu klik Properties.
  2. Di properti Advanced, tentukan nilai berikut:

    1. Masukkan jumlah pemisahan yang akan dibuat.
    2. Masukkan ukuran pengambilan untuk setiap pemisahan.
    3. Masukkan kueri pembatas yang akan diterapkan ke cluster Redshift multi-node.
    4. 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 tableName
      

      Dalam kueri ini, id adalah 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