Menerjemahkan kueri dengan penerjemah SQL interaktif

Dokumen ini menjelaskan cara menerjemahkan kueri dari dialek SQL yang berbeda ke dalam kueri GoogleSQL menggunakan penerjemah SQL interaktif BigQuery. Penerjemah SQL interaktif dapat membantu mengurangi waktu dan upaya saat Anda memigrasikan beban kerja ke BigQuery. Dokumen ini ditujukan bagi pengguna yang sudah memahami konsol Google Cloud.

Sebelum memulai

Jika project Google Cloud CLI Anda dibuat sebelum 15 Februari 2022, aktifkan BigQuery Migration API seperti berikut:

  1. Di konsol Google Cloud, buka halaman BigQuery Migration API.

    Buka BigQuery Migration API

  2. Klik Enable.

Izin dan peran

Bagian ini menjelaskan izin Identity and Access Management (IAM) yang Anda perlukan untuk menggunakan penerjemah SQL interaktif, termasuk peran IAM bawaan yang memberikan izin tersebut. Bagian ini juga menjelaskan izin yang diperlukan untuk mengonfigurasi konfigurasi terjemahan tambahan.

Izin untuk menggunakan penerjemah SQL interaktif

Untuk menggunakan penerjemah SQL interaktif, Anda memerlukan izin berikut:

  • bigquerymigration.translation.translate

Peran IAM bawaan berikut memberikan izin yang Anda perlukan untuk menggunakan penerjemah SQL interaktif:

  • roles/bigquerymigration.translationUser

Untuk menjalankan kueri dari penerjemah SQL interaktif, Anda memerlukan izin yang sama seperti yang diperlukan untuk menjalankan kueri apa pun di BigQuery. Misalnya, untuk membuat kueri tabel, Anda harus memiliki izin untuk membaca data tabel. Untuk informasi selengkapnya, baca artikel Membuat kueri data BigQuery.

Izin untuk mengonfigurasi konfigurasi terjemahan tambahan

Anda dapat mengonfigurasi konfigurasi terjemahan tambahan menggunakan kolom Translation Config ID dan Translation Configuration Source Location di setelan terjemahan. Untuk mengonfigurasi konfigurasi terjemahan ini, Anda memerlukan izin berikut:

  • bigquerymigration.workflows.get
  • bigquerymigration.workflows.list

Peran IAM bawaan berikut memberikan izin yang diperlukan untuk mengonfigurasi konfigurasi terjemahan tambahan:

  • roles/bigquerymigration.viewer

Untuk informasi selengkapnya tentang IAM BigQuery, lihat Kontrol akses dengan IAM.

Dialek SQL yang didukung

Penerjemah SQL interaktif BigQuery dapat menerjemahkan dialek SQL berikut ke dalam GoogleSQL:

  • Amazon Redshift SQL
  • Apache HiveQL dan Beeline CLI
  • IBM Netezza SQL dan NZPLSQL
  • Teradata dan Teradata Vantage
    • SQL
    • Basic Teradata Query (BTEQ)
    • Teradata Parallel Transport (TPT)

Selain itu, terjemahan dialek SQL berikut didukung di pratinjau:

  • Apache Spark SQL
  • Azure Synapse T-SQL
  • MySQL SQL
  • Oracle SQL, PL/SQL, Exadata
  • PostgreSQL SQL
  • Trino atau PrestoSQL
  • Snowflake SQL
  • SQL Server T-SQL
  • SQLite
  • Vertica SQL

Menerjemahkan kueri ke GoogleSQL

Ikuti langkah-langkah ini untuk menerjemahkan kueri ke GoogleSQL:

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel Editor, klik More, lalu pilih Translation settings.

  3. Untuk Source dialect, pilih dialek SQL yang ingin Anda terjemahkan.

  4. Opsional. Untuk Processing location, pilih lokasi tempat Anda ingin menjalankan tugas terjemahan. Misalnya, jika Anda berada di Eropa dan tidak ingin data melewati batas lokasi mana pun, pilih region eu.

  5. Klik Save.

  6. Di panel Editor, klik More, lalu pilih Enable SQL translation.

    Panel Editor dibagi menjadi dua panel.

  7. Di panel kiri, masukkan kueri yang ingin Anda terjemahkan.

  8. Klik Translate.

    BigQuery menerjemahkan kueri Anda ke GoogleSQL dan menampilkannya di panel kanan. Misalnya, screenshot berikut menunjukkan Teradata SQL yang telah diterjemahkan:

    Menampilkan kueri Teradata SQL yang diterjemahkan ke GoogleSQL

  9. Opsional: Untuk menjalankan kueri GoogleSQL yang diterjemahkan, klik Run.

  10. Opsional: Untuk kembali ke editor SQL, klik More, lalu pilih Disable SQL translation.

    Panel Editor akan kembali ke satu panel.

Tingkatkan performa tugas terjemahan interaktif

Untuk meningkatkan stabilitas dan mencegah masalah waktu tunggu jaringan pada tugas terjemahan interaktif yang berjalan lama (misalnya, menggunakan paket file metadata besar), aktifkan API terjemahan gabungan. API terjemahan gabungan menggabungkan penerjemah batch dan interaktif ke dalam satu alur kerja, sehingga meningkatkan efisiensi dan stabilitas tugas terjemahan interaktif.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk menggunakan API terjemahan gabungan dengan penerjemah interaktif, minta administrator untuk memberi Anda peran IAM MigrationWorkflow Editor (roles/bigquerymigration.editor) di resource parent. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran bawaan ini berisi izin yang diperlukan untuk menggunakan API terjemahan gabungan dengan penerjemah interaktif. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk menggunakan API terjemahan gabungan dengan penerjemah interaktif:

  • bigquerymigration.workflows.create
  • bigquerymigration.workflows.get

Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.

Mengaktifkan API terjemahan gabungan

Guna mengaktifkan API terjemahan gabungan untuk penerjemah interaktif, lengkapi formulir Pemberian Izin API Terjemahan Gabungan. Untuk informasi lebih lanjut tentang penggunaan API terjemahan gabungan dengan penerjemah SQL batch, lihat petunjuk API di Mengirim tugas terjemahan.

Menerjemahkan kueri dengan konfigurasi tambahan

Anda dapat menjalankan kueri interaktif dengan konfigurasi terjemahan tambahan dengan memberikan ID konfigurasi terjemahan batch atau dengan file konfigurasi yang disimpan di folder Cloud Storage. Konfigurasi terjemahan mungkin menyertakan metadata objek SQL atau informasi pemetaan objek dari database sumber yang dapat meningkatkan kualitas terjemahan. Misalnya, sertakan informasi atau skema DDL dari database sumber untuk meningkatkan kualitas terjemahan SQL interaktif.

Untuk menentukan konfigurasi terjemahan dengan memberikan ID konfigurasi terjemahan batch, lakukan hal berikut:

  1. Di editor kueri, klik More > Translation settings.
  2. Di kolom Translation Configuration ID, berikan ID konfigurasi terjemahan batch untuk menerapkan konfigurasi terjemahan yang sama dari tugas migrasi batch BigQuery yang telah selesai.

    Untuk menemukan ID konfigurasi terjemahan batch tugas, pilih tugas terjemahan batch dari halaman SQL translation, lalu klik tab Translation Configuration. ID konfigurasi terjemahan batch dicantumkan sebagai Resource name.

  3. Klik Save.

Untuk menentukan konfigurasi terjemahan dengan menyediakan file sumber konfigurasi terjemahan, lakukan hal berikut:

  1. Di editor kueri, klik More > Translation settings.
  2. Di kolom Translation Configuration Source Location, tentukan jalur ke file konfigurasi terjemahan yang disimpan di folder Cloud Storage.

    Penerjemah SQL interaktif BigQuery mendukung file konfigurasi yang berisi metadata terjemahan, dan pemetaan nama objek. Untuk informasi tentang cara mengupload file ke Cloud Storage, lihat Mengupload objek dari sistem file.

  3. Klik Save.

Batasan ukuran file konfigurasi

Saat Anda menggunakan file konfigurasi terjemahan dengan penerjemah SQL interaktif BigQuery, file metadata yang dikompresi atau file konfigurasi YAML harus lebih kecil dari 50 MB. Jika ukuran file lebih dari 50 MB, penerjemah interaktif akan melewati file konfigurasi tersebut selama penerjemahan dan menghasilkan pesan error yang mirip dengan berikut ini:

CONFIG ERROR: Skip reading file "gs://metadata-file.zip". File size (150,000,000 bytes) exceeds limit (50 MB).

Salah satu metode untuk mengurangi ukuran file metadata adalah menggunakan flag --database atau --schema agar hanya mengekstrak metadata untuk database atau skema yang relevan untuk kueri input terjemahan. Untuk informasi selengkapnya tentang penggunaan flag ini saat membuat file metadata, lihat Flag global.

Batasan

Penerjemah SQL interaktif tidak memiliki informasi skema apa pun untuk kueri yang Anda masukkan untuk diterjemahkan. Untuk memastikan terjemahan yang paling akurat, masukkan pernyataan bahasa definisi data (DDL) untuk tabel apa pun yang digunakan dalam kueri sebelum kueri itu sendiri. Misalnya, jika ingin menerjemahkan kueri Amazon Redshift select table1.field1, table2.field1 from table1, table2 where table1.id = table2.id;, Anda harus memasukkan pernyataan SQL berikut ke dalam penerjemah SQL interaktif:

create table schema1.table1 (id int, field1 int, field2 varchar(16));
create table schema1.table2 (id int, field1 varchar(30), field2 date);

select table1.field1, table2.field1
from table1, table2
where table1.id = table2.id;

Lokasi

Penerjemah SQL interaktif tersedia di lokasi pemrosesan berikut:

  • us (multi-region AS)
  • eu (multi-region Uni Eropa)
  • southamerica-east1 (São Paulo)
  • us-central1 (Iowa)
  • asia-northeast1 (Tokyo)
  • asia-south1 (Mumbai)
  • asia-southeast1 (Singapura)
  • australia-southeast1 (Sydney)
  • europe-central2 (Warsawa)
  • europe-north1 (Finlandia)
  • europe-west1 (Belgia)
  • europe-west2 (London)
  • europe-west3 (Frankfurt)

Harga

Gunakan penerjemah SQL interaktif ini secara gratis. Namun, penyimpanan yang digunakan untuk menyimpan file input dan output dikenakan biaya normal. Untuk mengetahui informasi selengkapnya, lihat Harga penyimpanan.

Langkah selanjutnya

Pelajari lebih lanjut langkah-langkah berikut dalam migrasi data warehouse: