

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

# Koneksi Vertica
<a name="aws-glue-programming-etl-connect-vertica-home"></a>

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 akan dibaca dari Vertica dengan query SQL. Anda terhubung ke Vertica menggunakan kredenSIAL nama pengguna dan kata sandi yang disimpan AWS Secrets Manager melalui koneksi AWS Glue.

Untuk informasi lebih lanjut tentang Vertica, lihat dokumentasi [ Vertica. ](https://www.vertica.com/docs/9.3.x/HTML/Content/Authoring/UsingVerticaOnAWS/UsingVerticaOnAWS.htm)

## Mengkonfigurasi koneksi Vertica
<a name="aws-glue-programming-etl-connect-vertica-configure"></a>

Untuk terhubung ke Vertica dari AWS Glue, Anda harus membuat dan menyimpan kredenSIAL Vertica Anda secara AWS Secrets Manager rahasia, lalu mengaitkan rahasia itu dengan koneksi Vertica AWS Glue. Jika instance Vertica Anda berada di Amazon VPC, Anda juga perlu memberikan opsi jaringan ke koneksi Glue Vertica Anda AWS . Anda akan memerlukan bucket atau folder Amazon S3 untuk digunakan sebagai 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 untuk digunakan untuk penyimpanan sementara saat membaca dari dan menulis ke database, dirujuk oleh{{tempS3Path}}.
**catatan**  
Saat menggunakan Vertica dalam prat AWS injau data pekerjaan Glue, file sementara mungkin tidak dihapus secara otomatis. {{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 mengatur konfigurasi Siklus Hidup Amazon S3 untuk menghapus data lama. Sebaiknya hapus data yang lebih lama dari 49 jam, berdasarkan waktu kerja maksimum ditambah margin. Untuk informasi selengkapnya tentang mengonfigurasi Siklus Hidup Amazon S3, lihat M [ engelola siklus hidup penyimpanan Anda ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) di dokumentasi Amazon S3.
+ Kebijakan IAM dengan izin yang sesuai untuk jalur Amazon S3 Anda yang dapat Anda kaitkan dengan peran pekerjaan AWS Glue Anda.
+ Jika instance Vertica Anda berada di Amazon VPC, konfigurasikan Amazon VPC untuk mengizinkan pekerjaan AWS Glue Anda berkomunikasi dengan instance Vertica tanpa lalu lintas yang 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 instance 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, Gerbang NAT, dan koneksi Peering.

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

**Untuk mengkonfigurasi koneksi ke Vertica:**

1. Di AWS Secrets Manager, buat rahasia menggunakan kredenSIAL Vertica Anda, {{verticaUsername}} dan{{verticaPassword}}. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di [ Buat AWS Secrets Manager rahasia ](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, {{secretName}} untuk langkah selanjutnya. 
   + Saat memilih ** Key/value pasangan**, buat pasangan untuk kunci `user` dengan nilai{{verticaUsername}}.
   + Saat memilih ** Key/value pasangan**, buat pasangan untuk kunci `password` dengan nilainya{{verticaPassword}}.

1. Di konsol AWS Glue, buat koneksi dengan mengikuti langkah-langkah di[Menambahkan AWS Glue koneksi](console-connections.md). 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 **AWS Rahasia**, berikan{{secretName}}.

1. Dalam situasi berikut, Anda mungkin memerlukan konfigurasi tambahan:
   + 

     Untuk instans Vertica yang dihosting AWS di Amazon VPC
     + Berikan informasi koneksi Amazon VPC ke koneksi Glu AWS e yang menentukan kredenSIAL keamanan Vertica Anda. Saat membuat atau memperbarui koneksi Anda, atur grup ** VPC**, ** Subnet, ** dan ** Keamanan ** di opsi ** Jaringan. **

Setelah membuat koneksi AWS Glue Vertica, Anda harus 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
<a name="aws-glue-programming-etl-connect-vertica-read"></a>

**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 membutuhkan nama koneksi AWS Glue,{{connectionName}}. 
+ Bucket atau folder Amazon S3 untuk digunakan untuk penyimpanan sementara, yang disebutkan sebelumnya. Anda akan membutuhkan nama,{{tempS3Path}}. Anda harus terhubung ke lokasi ini menggunakan `s3a` protokol.

Contoh: 

```
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 dataset dari beberapa tabel.

Contoh:

```
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
<a name="aws-glue-programming-etl-connect-vertica-write"></a>

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

**Prasyarat: ** 
+ Nama tabel saat ini atau yang diinginkan{{tableName}},, Anda ingin menulis. 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 membutuhkan nama koneksi AWS Glue,{{connectionName}}. 
+ Bucket atau folder Amazon S3 untuk digunakan untuk penyimpanan sementara, yang disebutkan sebelumnya. Anda akan membutuhkan nama,{{tempS3Path}}. Anda harus terhubung ke lokasi ini menggunakan `s3a` protokol.

Contoh: 

```
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
<a name="aws-glue-programming-etl-connect-vertica-reference"></a>
+ `connectionName` — Diperlukan. Digunakan untuk Read/Write. Nama koneksi AWS Glue Vertica dikonfigurasi untuk memberikan informasi autentikasi dan jaringan ke metode koneksi Anda.
+ `db` — Diperlukan. Digunakan untuk Read/Write. Nama database di Vertica metode koneksi Anda akan berinteraksi dengan.
+ `dbSchema`— Diperlukan jika diperlukan untuk mengidentifikasi tabel Anda. Digunakan untuk Read/Write. Default: `public`. Nama skema metode koneksi Anda akan berinteraksi dengan.
+ `table`- Diperlukan untuk menulis, diperlukan untuk membaca kecuali `query` disediakan. Digunakan untuk Read/Write. Nama tabel yang akan berinteraksi dengan metode koneksi Anda.
+ `query`— Digunakan untuk membaca. Kueri SELECT SQL mendefinisikan apa yang harus diambil saat membaca dari Teradata.
+ `staging_fs_url` — Diperlukan. Digunakan untuk Read/Write. Nilai yang Valid: `s3a` URL. URL bucket atau folder Amazon S3 untuk digunakan untuk penyimpanan sementara.