

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

# Konektor Google Amazon Athena BigQuery
<a name="connectors-bigquery"></a>

Konektor Amazon Athena untuk Google [BigQuery](https://cloud.google.com/bigquery/)memungkinkan Amazon Athena menjalankan kueri SQL pada data Google Anda. BigQuery

Konektor ini dapat didaftarkan dengan Glue Data Catalog sebagai katalog federasi. Ini mendukung kontrol akses data yang didefinisikan dalam Lake Formation di katalog, database, tabel, kolom, baris, dan tingkat tag. Konektor ini menggunakan Glue Connections untuk memusatkan properti konfigurasi di Glue.

## Prasyarat
<a name="connectors-bigquery-prerequisites"></a>
+ Menyebarkan konektor ke Anda Akun AWS menggunakan konsol Athena atau. AWS Serverless Application Repository Untuk informasi selengkapnya, lihat [Buat koneksi sumber data](connect-to-a-data-source.md) atau [Gunakan AWS Serverless Application Repository untuk menyebarkan konektor sumber data](connect-data-source-serverless-app-repo.md).

## Batasan
<a name="connectors-bigquery-limitations"></a>
+ Fungsi Lambda memiliki nilai batas waktu maksimum 15 menit. Setiap perpecahan mengeksekusi kueri BigQuery dan harus selesai dengan waktu yang cukup untuk menyimpan hasil agar Athena dapat dibaca. Jika fungsi Lambda habis waktu, kueri gagal.
+ Google BigQuery adalah case sensitive. Konektor mencoba untuk memperbaiki kasus nama dataset, nama tabel, dan proyek IDs. Ini diperlukan karena Athena menurunkan semua metadata. Koreksi ini membuat banyak panggilan tambahan ke Google BigQuery.
+ Tipe data biner tidak didukung.
+ Karena BigQuery konkurensi Google dan batas kuota, konektor mungkin mengalami masalah batas kuota Google. Untuk menghindari masalah ini, dorong sebanyak mungkin kendala ke Google BigQuery . Untuk informasi tentang BigQuery kuota, lihat [Kuota dan batasan](https://cloud.google.com/bigquery/quotas) dalam dokumentasi Google BigQuery .

## Parameter
<a name="connectors-bigquery-parameters"></a>

Gunakan parameter di bagian ini untuk mengkonfigurasi BigQuery konektor Google.

### Koneksi lem (disarankan)
<a name="bigquery-gc"></a>

Kami menyarankan Anda mengonfigurasi BigQuery konektor Google dengan menggunakan objek koneksi Glue. Untuk melakukan ini, atur variabel `glue_connection` lingkungan dari BigQuery konektor Google Lambda ke nama koneksi Glue yang akan digunakan.

**Properti koneksi lem**

Gunakan perintah berikut untuk mendapatkan skema untuk objek koneksi Glue. Skema ini berisi semua parameter yang dapat Anda gunakan untuk mengontrol koneksi Anda.

```
aws glue describe-connection-type --connection-type BIGQUERY
```

**Properti lingkungan Lambda**

**glue\$1connection** - Menentukan nama koneksi Glue yang terkait dengan konektor federasi. 

**catatan**  
Semua konektor yang menggunakan koneksi Glue harus digunakan AWS Secrets Manager untuk menyimpan kredensil.
 BigQuery Konektor Google yang dibuat menggunakan koneksi Glue tidak mendukung penggunaan handler multiplexing.
 BigQuery Konektor Google yang dibuat menggunakan koneksi Glue hanya mendukung `ConnectionSchemaVersion` 2.

### Koneksi warisan
<a name="bigquery-legacy"></a>

**catatan**  
Konektor sumber data Athena dibuat pada 3 Desember 2024 dan kemudian menggunakan koneksi. AWS Glue 

Nama parameter dan definisi yang tercantum di bawah ini adalah untuk konektor sumber data Athena yang dibuat tanpa koneksi Glue terkait. Gunakan parameter berikut hanya jika Anda [menggunakan versi sebelumnya dari konektor sumber data Athena secara manual](connect-data-source-serverless-app-repo.md) atau saat `glue_connection` properti lingkungan tidak ditentukan.

**Properti lingkungan Lambda**
+ **spill\$1bucket** - Menentukan bucket Amazon S3 untuk data yang melebihi batas fungsi Lambda.
+ **spill\$1prefix** — (Opsional) Default ke subfolder dalam nama yang ditentukan. `spill_bucket` `athena-federation-spill` Kami menyarankan Anda mengonfigurasi [siklus hidup penyimpanan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) Amazon S3 di lokasi ini untuk menghapus tumpahan yang lebih lama dari jumlah hari atau jam yang telah ditentukan sebelumnya.
+ **spill\$1put\$1request\$1headers** — (Opsional) Peta header permintaan dan nilai yang disandikan JSON untuk permintaan Amazon S3 yang digunakan untuk menumpahkan (misalnya,). `putObject` `{"x-amz-server-side-encryption" : "AES256"}` Untuk kemungkinan header lainnya, lihat [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)di *Referensi API Amazon Simple Storage Service*.
+ **kms\$1key\$1id** — (Opsional) Secara default, data apa pun yang tumpah ke Amazon S3 dienkripsi menggunakan mode enkripsi yang diautentikasi AES-GCM dan kunci yang dihasilkan secara acak. Agar fungsi Lambda Anda menggunakan kunci enkripsi yang lebih kuat yang dihasilkan oleh KMS seperti`a7e63k4b-8loc-40db-a2a1-4d0en2cd8331`, Anda dapat menentukan ID kunci KMS.
+ **disable\$1spill\$1encryption** — (Opsional) Ketika diatur ke, menonaktifkan enkripsi tumpahan. `True` Defaultnya `False` sehingga data yang tumpah ke S3 dienkripsi menggunakan AES-GCM — baik menggunakan kunci yang dihasilkan secara acak atau KMS untuk menghasilkan kunci. [Menonaktifkan enkripsi tumpahan dapat meningkatkan kinerja, terutama jika lokasi tumpahan Anda menggunakan enkripsi sisi server.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)
+ **gcp\$1project\$1id — ID** proyek (bukan nama proyek) yang berisi kumpulan data yang harus dibaca konektor (misalnya,). `semiotic-primer-1234567`
+ **secret\$1manager\$1gcp\$1creds\$1name — Nama rahasia di dalamnya yang berisi kredensil** Anda dalam AWS Secrets Manager format JSON (misalnya,). BigQuery `GoogleCloudPlatformCredentials`
+ **big\$1query\$1endpoint** — (Opsional) URL dari endpoint pribadi. BigQuery Gunakan parameter ini saat Anda ingin mengakses BigQuery melalui titik akhir pribadi.

## Perpecahan dan tampilan
<a name="connectors-bigquery-splits-and-views"></a>

Karena BigQuery konektor menggunakan BigQuery Storage Read API untuk menanyakan tabel, dan BigQuery Storage API tidak mendukung tampilan, konektor menggunakan BigQuery klien dengan satu split untuk tampilan.

## Performa
<a name="connectors-bigquery-performance"></a>

Untuk menanyakan tabel, BigQuery konektor menggunakan BigQuery Storage Read API, yang menggunakan protokol berbasis RPC yang menyediakan akses cepat ke penyimpanan BigQuery terkelola. Untuk informasi selengkapnya tentang BigQuery Storage Read API, lihat [Menggunakan BigQuery Storage Read API untuk membaca data tabel](https://cloud.google.com/bigquery/docs/reference/storage) di dokumentasi Google Cloud.

Memilih subset kolom secara signifikan mempercepat runtime kueri dan mengurangi data yang dipindai. Konektor tunduk pada kegagalan kueri saat konkurensi meningkat, dan umumnya merupakan konektor yang lambat.

 BigQuery Konektor Google Athena melakukan pushdown predikat untuk mengurangi data yang dipindai oleh kueri. `LIMIT`klausa, `ORDER BY` klausa, predikat sederhana, dan ekspresi kompleks didorong ke konektor untuk mengurangi jumlah data yang dipindai dan mengurangi waktu eksekusi kueri. 

### Klausul LIMIT
<a name="connectors-bigquery-performance-limit-clauses"></a>

`LIMIT N`Pernyataan mengurangi data yang dipindai oleh kueri. Dengan `LIMIT N` pushdown, konektor hanya mengembalikan `N` baris ke Athena.

### Kueri N teratas
<a name="connectors-bigquery-performance-top-n-queries"></a>

`N`Kueri teratas menentukan urutan set hasil dan batas jumlah baris yang dikembalikan. Anda dapat menggunakan jenis kueri ini untuk menentukan nilai `N` maks teratas atau nilai `N` min teratas untuk kumpulan data Anda. Dengan `N` pushdown atas, konektor hanya mengembalikan baris yang `N` dipesan ke Athena.

### Predikat
<a name="connectors-bigquery-performance-predicates"></a>

Predikat adalah ekspresi dalam `WHERE` klausa query SQL yang mengevaluasi nilai Boolean dan menyaring baris berdasarkan beberapa kondisi. BigQuery Konektor Google Athena dapat menggabungkan ekspresi ini dan mendorongnya langsung ke Google BigQuery untuk fungsionalitas yang ditingkatkan dan untuk mengurangi jumlah data yang dipindai.

Operator BigQuery konektor Google Athena berikut mendukung pushdown predikat:
+ **Boolean:** DAN, ATAU, TIDAK
+ **KESETARAAN: SAMA, NOT\$1EQUAL**, LESS\$1THAN, LESS\$1THAN\$1OR\$1EQUAL, GREATER\$1THAN, GREATER\$1THAN\$1OR\$1EQUAL, IS\$1DISTINCT\$1FROM, NULL\$1IF, IS\$1NULL
+ **Aritmatika:** TAMBAHKAN, KURANGI, KALIKAN, BAGI, MODULUS, MENIADAKAN
+ **Lainnya:** LIKE\$1PATTERN, IN

### Contoh pushdown gabungan
<a name="connectors-bigquery-performance-pushdown-example"></a>

Untuk kemampuan kueri yang ditingkatkan, gabungkan jenis pushdown, seperti pada contoh berikut:

```
SELECT * 
FROM my_table 
WHERE col_a > 10 
    AND ((col_a + col_b) > (col_c % col_d)) 
    AND (col_e IN ('val1', 'val2', 'val3') OR col_f LIKE '%pattern%') 
ORDER BY col_a DESC 
LIMIT 10;
```

## Kueri passthrough
<a name="connectors-bigquery-passthrough-queries"></a>

 BigQuery Konektor Google mendukung [kueri passthrough](federated-query-passthrough.md). Kueri passthrough menggunakan fungsi tabel untuk mendorong kueri lengkap Anda ke sumber data untuk dieksekusi.

Untuk menggunakan kueri passthrough dengan Google BigQuery, Anda dapat menggunakan sintaks berikut:

```
SELECT * FROM TABLE(
        system.query(
            query => 'query string'
        ))
```

Contoh kueri berikut mendorong kueri ke sumber data di Google BigQuery. Kueri memilih semua kolom dalam `customer` tabel, membatasi hasilnya menjadi 10.

```
SELECT * FROM TABLE(
        system.query(
            query => 'SELECT * FROM customer LIMIT 10'
        ))
```

## Informasi lisensi
<a name="connectors-bigquery-license-information"></a>

Proyek BigQuery konektor Google Amazon Athena dilisensikan di bawah Lisensi [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.html).

Dengan menggunakan konektor ini, Anda mengakui penyertaan komponen pihak ketiga, daftar yang dapat ditemukan dalam file [pom.xml](https://github.com/awslabs/aws-athena-query-federation/blob/master/athena-google-bigquery/pom.xml) untuk konektor ini, dan menyetujui persyaratan dalam masing-masing lisensi pihak ketiga yang disediakan dalam file [LICENSE.txt](https://github.com/awslabs/aws-athena-query-federation/blob/master/athena-google-bigquery/LICENSE.txt) di .com. GitHub

## Sumber daya tambahan
<a name="connectors-bigquery-additional-resources"></a>

Untuk informasi tambahan tentang konektor ini, kunjungi [situs terkait](https://github.com/awslabs/aws-athena-query-federation/tree/master/athena-google-bigquery) GitHub di.com.