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 Anda, seperti BigQuery. Konektor 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 ada dan dapat digunakan kembali, atau membuat koneksi satu kali yang baru. Untuk mengetahui informasi lebih lanjut, lihat Mengelola koneksi. Saat Anda menggunakan kembali koneksi, perhatikan hal-hal berikut:

    • Anda tidak perlu memberikan kredensial.
    • Koneksi yang ada memberikan informasi nama tabel dan skema 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 Source, 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.

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

  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 satu kali ke Redshift, ikuti langkah-langkah berikut:

      1. Tetap nonaktifkan Gunakan koneksi.
      2. Di kolom Nama driver JDBC, masukkan nama driver. Redshift mendukung dua jenis driver JDBC: CData dan Amazon. Untuk 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 Username, 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 tidak ada koneksi dan Anda ingin membuat koneksi baru yang dapat digunakan kembali, klik Add connection, lalu lihat langkah-langkah di tab New connection pada halaman ini.

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

    4. Opsional: Masukkan properti Advanced, 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 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.
Gunakan koneksi Tidak Tidak Cari koneksi ke sumber. Jika Gunakan koneksi diaktifkan, Anda tidak perlu memberikan kredensial.
Koneksi Ya Ya Nama koneksi yang akan digunakan. Jika Use connection dipilih, kolom ini akan muncul. Informasi database dan tabel disediakan oleh koneksi.
Nama driver JDBC Ya Ya Nama driver JDBC yang akan digunakan. Jika Use connection tidak dipilih, kolom ini akan muncul.
Host Ya Ya Endpoint cluster Amazon Redshift. Jika Use connection tidak dipilih, kolom ini akan muncul.
Port Ya Tidak Port tempat Redshift berjalan. Jika Use connection tidak dipilih, kolom ini akan muncul.
Username Ya Tidak Identitas pengguna untuk terhubung ke database yang ditentukan. Jika Use connection tidak dipilih, kolom ini akan muncul.
Password Ya Tidak Sandi yang akan digunakan untuk terhubung ke database yang ditentukan. Jika Use connection 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 Use connection tidak dipilih, kolom ini akan muncul.
Nama referensi Tidak Ya Secara unik mengidentifikasi sumber ini untuk silsilah, metadata anotasi, dan layanan lainnya.
Database Ya Ya Nama database Redshift. Untuk memilih data, klik Browse database.
Impor kueri Ya Ya Kueri SELECT yang akan digunakan untuk mengimpor data dari tabel yang ditentukan.
Kueri pembatas Ya Tidak Kueri SQL yang menampilkan nilai minimal dan maksimal dari kolom splitBy. Sebagai contoh, SELECT MIN(id),MAX(id) FROM table. Tidak diperlukan jika numSplits ditetapkan ke satu.
Pisahkan kolom Ya Tidak Nama kolom yang digunakan untuk membuat pemisahan. Tidak diperlukan jika numSplits ditetapkan ke satu.
Jumlah bagian Ya Tidak Jumlah bagian yang akan dihasilkan.
Ukuran Ya Tidak Jumlah baris yang akan diambil pada waktu per pemisahan. Ukuran pengambilan yang lebih besar dapat menghasilkan impor yang lebih cepat, dengan kompromi dari penggunaan memori yang lebih tinggi. Jika tidak ditentukan, defaultnya adalah 1000.

Pemetaan tipe 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.

Gunakan 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 Dataproc, dapatkan alamat IP dari semua node master dan node 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 semua masalah.

Untuk membuat beberapa bagian, gunakan kueri pembatas

Untuk beberapa bagian, gunakan kueri pembatas untuk mengelola cluster multinode. Dalam skenario tempat Anda mengekstrak data dari Redshift dan mendistribusikan beban secara seragam di setiap node, konfigurasikan kueri pembatas di properti konektor sumber Redshift.

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

    1. Masukkan jumlah pemisahan yang akan dibuat.
    2. Masukkan ukuran pengambilan untuk setiap pemisahan.
    3. Masukkan kueri pembatas untuk diterapkan ke cluster Redshift multi-node.
    4. Masukkan nama kolom Split column.

Misalnya, anggap Anda memiliki kasus penggunaan berikut:

  • Anda memiliki tabel yang berisi 10 juta data.
  • Kolom ini 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 Kueri pembatas, 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 pemisahan dan ukuran pengambilan. Properti ini saling terhubung, sehingga Anda dapat menghitung pemisahan berdasarkan ukuran pengambilan, atau sebaliknya. Untuk contoh ini, masukkan kode berikut.

    • Di kolom Jumlah bagian, masukkan 40. Dalam contoh ini, dengan tabel memiliki sepuluh juta data, membuat 40 pemisahan akan menghasilkan setiap pemisahan yang berisi 250.000 data.

    • Di kolom Ukuran pengambilan, masukkan 250,000.

Langkah selanjutnya