Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

BigQuery koneksi

Mode fokus
BigQuery koneksi - AWS Glue

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

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

Anda dapat menggunakan AWS Glue for Spark untuk membaca dan menulis ke tabel di Google BigQuery di AWS Glue 4.0 dan versi yang lebih baru. Anda dapat membaca dari BigQuery dengan kueri Google SQL. Anda terhubung BigQuery menggunakan kredensional yang disimpan AWS Secrets Manager melalui koneksi AWS Glue.

Untuk informasi selengkapnya tentang Google BigQuery, lihat BigQuery situs web Google Cloud.

Mengkonfigurasi koneksi BigQuery

Untuk terhubung ke Google BigQuery dari AWS Glue, Anda harus membuat dan menyimpan kredensi Google Cloud Platform Anda secara AWS Secrets Manager rahasia, lalu mengaitkan rahasia itu dengan koneksi Google BigQuery AWS Glue.

Untuk mengkonfigurasi koneksi ke BigQuery:
  1. Di Google Cloud Platform, buat dan identifikasi sumber daya yang relevan:

  2. Di Google Cloud Platform, buat dan ekspor kredensional akun layanan:

    Anda dapat menggunakan panduan BigQuery kredensial untuk mempercepat langkah ini: Buat kredensial.

    Untuk membuat akun layanan di GCP, ikuti tutorial yang tersedia di Buat akun layanan.

    • Saat memilih proyek, pilih proyek yang berisi BigQuery tabel Anda.

    • Saat memilih peran IAM GCP untuk akun layanan Anda, tambahkan atau buat peran yang akan memberikan izin yang sesuai untuk menjalankan BigQuery pekerjaan untuk membaca, menulis, atau membuat tabel. BigQuery

    Untuk membuat kredensi untuk akun layanan Anda, ikuti tutorial yang tersedia di Buat kunci akun layanan.

    • Saat memilih jenis kunci, pilih JSON.

    Anda seharusnya sudah mengunduh file JSON dengan kredensi untuk akun layanan Anda. Itu terlihat serupa dengan yang berikut ini:

    { "type": "service_account", "project_id": "*****", "private_key_id": "*****", "private_key": "*****", "client_email": "*****", "client_id": "*****", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "*****", "universe_domain": "googleapis.com" }
  3. base64 menyandikan file kredensi yang Anda unduh. Pada AWS CloudShell sesi atau serupa, Anda dapat melakukan ini dari baris perintah dengan menjalankancat credentialsFile.json | base64 -w 0. Pertahankan output dari perintah ini,credentialString.

  4. Di AWS Secrets Manager, buat rahasia menggunakan kredensi Google Cloud Platform Anda. 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 credentials dengan nilainya. credentialString

  5. Dalam AWS Glue Data Catalog, buat koneksi dengan mengikuti langkah-langkah diMenambahkan AWS Glue koneksi. Setelah membuat koneksi, pertahankan nama koneksi,connectionName, untuk langkah selanjutnya.

    • Saat memilih jenis Koneksi, pilih Google BigQuery.

    • Saat memilih AWS Rahasia, berikansecretName.

  6. Berikan peran IAM yang terkait dengan izin pekerjaan AWS Glue Anda untuk membacasecretName.

  7. Dalam konfigurasi pekerjaan AWS Glue Anda, berikan connectionName sebagai koneksi jaringan Tambahan.

Membaca dari BigQuery tabel

Prasyarat:

  • BigQuery Meja yang ingin Anda baca. Anda akan memerlukan nama BigQuery tabel dan dataset, dalam formulir[dataset].[table]. Mari kita sebut initableName.

  • Proyek penagihan untuk BigQuery tabel. Anda akan membutuhkan nama proyek,parentProject. Jika tidak ada proyek induk penagihan, gunakan proyek yang berisi tabel.

  • BigQuery informasi autentikasi. Selesaikan langkah-langkahnya Untuk mengelola kredensi koneksi Anda dengan AWS Glue untuk mengonfigurasi informasi autentikasi Anda. Anda akan membutuhkan nama koneksi AWS Glue,connectionName.

Sebagai contoh:

bigquery_read = glueContext.create_dynamic_frame.from_options( connection_type="bigquery", connection_options={ "connectionName": "connectionName", "parentProject": "parentProject", "sourceType": "table", "table": "tableName", }

Anda juga dapat memberikan kueri, untuk memfilter hasil yang dikembalikan ke Anda DynamicFrame. Anda perlu mengkonfigurasiquery,sourceType, viewsEnabled danmaterializationDataset.

Sebagai contoh:

Prasyarat tambahan:

Anda akan perlu untuk membuat atau mengidentifikasi BigQuery dataset,materializationDataset, di mana BigQuery dapat menulis tampilan terwujud untuk kueri Anda.

Anda harus memberikan izin IAM GCP yang sesuai ke akun layanan Anda untuk membuat tabel. materializationDataset

glueContext.create_dynamic_frame.from_options( connection_type="bigquery", connection_options={ "connectionName": "connectionName", "materializationDataset": materializationDataset, "parentProject": "parentProject", "viewsEnabled": "true", "sourceType": "query", "query": "select * from bqtest.test" } )

Menulis ke BigQuery tabel

Contoh ini menulis langsung ke BigQuery layanan. BigQuery juga mendukung metode penulisan “tidak langsung”. Untuk informasi selengkapnya tentang mengonfigurasi penulisan tidak langsung, lihatMenggunakan penulisan tidak langsung dengan Google BigQuery.

Prasyarat:

  • BigQuery Meja yang ingin Anda tulis. Anda akan memerlukan nama BigQuery tabel dan dataset, dalam formulir[dataset].[table]. Anda juga dapat memberikan nama tabel baru yang akan dibuat secara otomatis. Mari kita sebut initableName.

  • Proyek penagihan untuk BigQuery tabel. Anda akan membutuhkan nama proyek,parentProject. Jika tidak ada proyek induk penagihan, gunakan proyek yang berisi tabel.

  • BigQuery informasi autentikasi. Selesaikan langkah-langkahnya Untuk mengelola kredensi koneksi Anda dengan AWS Glue untuk mengonfigurasi informasi autentikasi Anda. Anda akan membutuhkan nama koneksi AWS Glue,connectionName.

Sebagai contoh:

bigquery_write = glueContext.write_dynamic_frame.from_options( frame=frameToWrite, connection_type="bigquery", connection_options={ "connectionName": "connectionName", "parentProject": "parentProject", "writeMethod": "direct", "table": "tableName", } )

BigQuery referensi opsi koneksi

  • project— Default: default akun layanan Google Cloud. Digunakan untuk Baca/Tulis. Nama proyek Google Cloud yang terkait dengan tabel Anda.

  • table— (Wajib) Digunakan untuk Baca/Tulis. Nama BigQuery tabel Anda dalam format[[project:]dataset.].

  • dataset— Diperlukan ketika tidak ditentukan melalui table opsi. Digunakan untuk Baca/Tulis. Nama dataset yang berisi BigQuery tabel Anda.

  • parentProject— Default: default akun layanan Google Cloud. Digunakan untuk Baca/Tulis. Nama proyek Google Cloud yang terkait dengan project digunakan untuk penagihan.

  • sourceType— Digunakan untuk Baca. Diperlukan saat membaca. Nilai yang Valid:table, query Menginformasikan AWS Glue apakah Anda akan membaca berdasarkan tabel atau kueri.

  • materializationDataset— Digunakan untuk Baca. Nilai Valid: string. Nama BigQuery dataset yang digunakan untuk menyimpan materialisasi untuk tampilan.

  • viewsEnabled— Digunakan untuk Baca. Default: false. Nilai Valid: true, false. Mengkonfigurasi apakah BigQuery akan menggunakan tampilan.

  • query— Digunakan untuk Baca. Digunakan saat viewsEnabled itu benar. Kueri GoogleSQL DQL.

  • temporaryGcsBucketDigunakan untuk menulis. Diperlukan saat writeMethod diatur ke default (indirect). Nama bucket Google Cloud Storage yang digunakan untuk menyimpan bentuk perantara data Anda saat menulis ke BigQuery.

  • writeMethod— Default:indirect. Nilai yang Valid:direct,indirect. Digunakan untuk menulis. Menentukan metode yang digunakan untuk menulis data Anda.

    • Jika disetel kedirect, konektor Anda akan menulis menggunakan BigQuery Storage Write API.

    • Jika diatur keindirect, konektor Anda akan menulis ke Google Cloud Storage, lalu mentransfernya ke BigQuery menggunakan operasi beban. Akun layanan Google Cloud Anda akan memerlukan izin GCS yang sesuai.

Menggunakan penulisan tidak langsung dengan Google BigQuery

Contoh ini menggunakan penulisan tidak langsung, yang menulis data ke Google Cloud Storage dan menyalinnya ke Google BigQuery.

Prasyarat:

Anda akan memerlukan bucket Google Cloud Storage sementaratemporaryBucket.

Peran GCP IAM untuk akun layanan GCP AWS Glue akan memerlukan izin GCS yang sesuai untuk mengakses. temporaryBucket

Konfigurasi Tambahan:

Untuk mengonfigurasi penulisan tidak langsung dengan BigQuery:
  1. Menilai Mengkonfigurasi koneksi BigQuery dan menemukan atau men-download ulang file JSON kredensi GCP Anda. IdentifikasisecretName, AWS Secrets Manager rahasia untuk koneksi Google BigQuery AWS Glue yang digunakan dalam pekerjaan Anda.

  2. Unggah file JSON kredensional Anda ke lokasi Amazon S3 yang aman dengan tepat. Pertahankan jalur ke file, s3secretpath untuk langkah-langkah masa depan.

  3. EditsecretName, tambahkan spark.hadoop.google.cloud.auth.service.account.json.keyfile kuncinya. Atur nilai ke s3secretpath.

  4. Berikan izin IAM Amazon S3 pekerjaan AWS Glue Anda untuk mengakses. s3secretpath

Sekarang Anda dapat memberikan lokasi bucket GCS sementara ke metode penulisan Anda. Anda tidak perlu menyediakanwriteMethod, seperti yang secara indirect historis default.

bigquery_write = glueContext.write_dynamic_frame.from_options( frame=frameToWrite, connection_type="bigquery", connection_options={ "connectionName": "connectionName", "parentProject": "parentProject", "temporaryGcsBucket": "temporaryBucket", "table": "tableName", } )
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.