Koneksi Vertica - AWS Glue

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Koneksi Vertica

Anda dapat menggunakan AWS Glue for Spark untuk membaca dan menulis ke tabel di Vertica di AWS Glue 4.0 dan versi yang lebih baru. Anda dapat menentukan apa yang harus dibaca dari Vertica dengan query SQL. Anda terhubung ke Vertica menggunakan kredensyal nama pengguna dan kata sandi yang disimpan melalui koneksi GlueAWS. AWS Secrets Manager

Untuk informasi lebih lanjut tentang Vertica, lihat dokumentasi Vertica.

Mengkonfigurasi koneksi Vertica

Untuk terhubung ke Vertica dari AWS Glue, Anda harus membuat dan menyimpan kredensyal Vertica Anda secara AWS Secrets Manager rahasia, lalu mengaitkan rahasia itu dengan koneksi Vertica Glue. AWS Jika instans Vertica Anda ada di VPC Amazon, Anda juga perlu memberikan opsi jaringan ke koneksi AWS Glue Vertica Anda. Anda memerlukan bucket atau folder Amazon S3 untuk digunakan untuk penyimpanan sementara saat membaca dari dan menulis ke database.

Untuk terhubung ke Vertica dari AWS Glue, Anda memerlukan beberapa prasyarat:

  • Bucket atau folder Amazon S3 yang akan digunakan untuk penyimpanan sementara saat membaca dari dan menulis ke database, dirujuk oleh Temps3Path.

    catatan

    Saat menggunakan Vertica dalam pratinjau data pekerjaan AWS Glue, file sementara mungkin tidak dihapus secara otomatis dari Temps3Path. Untuk memastikan penghapusan file sementara, langsung akhiri sesi pratinjau data dengan memilih Akhiri sesi di panel pratinjau data.

    Jika Anda tidak dapat menjamin sesi pratinjau data berakhir secara langsung, pertimbangkan untuk menyetel konfigurasi Siklus Hidup Amazon S3 untuk menghapus data lama. Sebaiknya hapus data yang lebih lama dari 49 jam, berdasarkan runtime pekerjaan maksimum ditambah margin. Untuk informasi selengkapnya tentang mengonfigurasi Siklus Hidup Amazon S3, lihat Mengelola siklus hidup penyimpanan di dokumentasi Amazon S3.

  • Kebijakan IAM dengan izin yang sesuai ke jalur Amazon S3 yang dapat Anda kaitkan dengan peran pekerjaan AWS Glue Anda.

  • Jika instans Vertica Anda ada di VPC Amazon, konfigurasikan Amazon VPC untuk memungkinkan pekerjaan AWS Glue Anda berkomunikasi dengan instans Vertica tanpa lalu lintas melintasi internet publik.

    Di Amazon VPC, identifikasi atau buat grup VPC, Subnet, dan Keamanan yang akan digunakan AWS Glue saat menjalankan pekerjaan. Selain itu, Anda perlu memastikan Amazon VPC dikonfigurasi untuk mengizinkan lalu lintas jaringan antara instans Vertica Anda dan lokasi ini. Pekerjaan Anda perlu membuat koneksi TCP dengan port klien Vertica Anda, (default 5433). Berdasarkan tata letak jaringan Anda, ini mungkin memerlukan perubahan pada aturan grup keamanan, ACL Jaringan, Gateway NAT, dan koneksi Peering.

Anda kemudian dapat melanjutkan untuk mengkonfigurasi AWS Glue untuk digunakan dengan Vertica.

Untuk mengonfigurasi koneksi ke Vertica:
  1. DiAWS Secrets Manager, buat rahasia menggunakan kredensyal Vertica Anda, VerticaUsername dan VerticaPassWord. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di Buat AWS Secrets Manager rahasia dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, secretName untuk langkah selanjutnya.

    • Saat memilih pasangan kunci/nilai, buat pasangan untuk kunci user dengan nilai VerticaUsername.

    • Saat memilih pasangan kunci/nilai, buat pasangan untuk kunci password dengan nilai VerticaPassWord.

  2. Di konsol AWS Glue, buat koneksi dengan mengikuti langkah-langkah diMenambahkan AWS Glue koneksi. Setelah membuat koneksi, simpan nama koneksi, connectionName, untuk langkah selanjutnya.

    • Saat memilih jenis Koneksi, pilih Vertica.

    • Saat memilih Vertica Host, berikan nama host instalasi Vertica Anda.

    • Saat memilih Port Vertica, port instalasi Vertica Anda tersedia.

    • Saat memilih AWSSecret, berikan secretName.

  3. Dalam situasi berikut, Anda mungkin memerlukan konfigurasi tambahan:

    • Untuk instance Vertica yang dihosting AWS di VPC Amazon

      • Berikan informasi koneksi Amazon VPC ke koneksi AWS Glue yang menentukan kredensyal keamanan Vertica Anda. Saat membuat atau memperbarui koneksi Anda, atur grup VPC, Subnet, dan Keamanan dalam opsi Jaringan.

Setelah membuat koneksi AWS Glue Vertica, Anda perlu melakukan langkah-langkah berikut sebelum memanggil metode koneksi Anda.

  • Berikan peran IAM yang terkait dengan izin pekerjaan AWS Glue Anda ke Temps3Path.

  • Berikan peran IAM yang terkait dengan izin pekerjaan AWS Glue Anda untuk membaca secretName.

  • Dalam konfigurasi pekerjaan AWS Glue Anda, berikan ConnectionName sebagai koneksi jaringan Tambahan.

Membaca dari Vertica

Prasyarat:

  • Tabel Vertica yang ingin Anda baca. Anda akan memerlukan nama database Vertica, dbName dan nama tabel, TableName.

  • Koneksi AWS Glue Vertica dikonfigurasi untuk memberikan informasi autentikasi. Selesaikan langkah-langkah dalam prosedur sebelumnya, Untuk mengkonfigurasi koneksi ke Vertica untuk mengkonfigurasi informasi autentikasi Anda. Anda akan memerlukan nama koneksi AWS Glue, ConnectionName.

  • Bucket atau folder Amazon S3 yang akan digunakan untuk penyimpanan sementara, yang disebutkan sebelumnya. Anda akan membutuhkan nama, Temps3Path. Anda harus terhubung ke lokasi ini menggunakan s3a protokol.

Misalnya:

dynamicFrame = glueContext.create_dynamic_frame.from_options( connection_type="vertica", connection_options={ "connectionName": "connectionName", "staging_fs_url": "s3a://tempS3Path", "db": "dbName", "table": "tableName", } )

Anda juga dapat memberikan kueri SELECT SQL, untuk memfilter hasil yang dikembalikan ke Anda DynamicFrame atau untuk mengakses kumpulan data dari beberapa tabel.

Misalnya:

dynamicFrame = glueContext.create_dynamic_frame.from_options( connection_type="vertica", connection_options={ "connectionName": "connectionName", "staging_fs_url": "s3a://tempS3Path", "db": "dbName", "query": "select * FROM tableName", }, )

Menulis ke tabel Vertica

Contoh ini menulis informasi dari DynamicFrame ke DynamicFrame Vertica yang sudah ada. Jika tabel sudah memiliki informasi, AWS Glue akan menambahkan data dari Anda DynamicFrame.

Prasyarat:

  • Nama tabel saat ini atau yang diinginkan, TableName, yang ingin Anda tulis. Anda juga akan memerlukan nama database Vertica yang sesuai, DBName.

  • Koneksi AWS Glue Vertica dikonfigurasi untuk memberikan informasi autentikasi. Selesaikan langkah-langkah dalam prosedur sebelumnya, Untuk mengkonfigurasi koneksi ke Vertica untuk mengkonfigurasi informasi autentikasi Anda. Anda akan memerlukan nama koneksi AWS Glue, ConnectionName.

  • Bucket atau folder Amazon S3 yang akan digunakan untuk penyimpanan sementara, yang disebutkan sebelumnya. Anda akan membutuhkan nama, Temps3Path. Anda harus terhubung ke lokasi ini menggunakan s3a protokol.

Misalnya:

glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type="vertica", connection_options={ "connectionName": "connectionName", "staging_fs_url": "s3a://tempS3Path", "db": "dbName", "table": "tableName", } )

Referensi opsi koneksi Vertica

  • connectionName — Diperlukan. Digunakan untuk Baca/Tulis. Nama koneksi AWS Glue Vertica dikonfigurasi untuk memberikan informasi autentikasi dan jaringan ke metode koneksi Anda.

  • db — Diperlukan. Digunakan untuk Baca/Tulis. Nama database di Vertica metode koneksi Anda akan berinteraksi dengan.

  • dbSchema— Diperlukan jika diperlukan untuk mengidentifikasi tabel Anda. Digunakan untuk Baca/Tulis. Default: public. Nama skema metode koneksi Anda akan berinteraksi dengan.

  • table— Diperlukan untuk menulis, diperlukan untuk membaca kecuali query disediakan. Digunakan untuk Baca/Tulis. Nama tabel metode koneksi Anda akan berinteraksi dengan.

  • query— Digunakan untuk Baca. Kueri SELECT SQL yang mendefinisikan apa yang harus diambil saat membaca dari Teradata.

  • staging_fs_url — Diperlukan. Digunakan untuk Baca/Tulis. Nilai Valid: s3a URL. URL bucket atau folder Amazon S3 yang akan digunakan untuk penyimpanan sementara.