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.
Jika lokasi Anda didukung, Anda dapat menggunakan fitur aturan terjemahan (Pratinjau) untuk menyesuaikan cara penerjemah SQL interaktif menerjemahkan SQL.
Batasan
Anda harus login dengan Akun Google untuk menggunakan penerjemah SQL interaktif. Penerjemah SQL interaktif tidak mendukung penggunaan identitas gabungan.
Sebelum memulai
Jika project Google Cloud CLI Anda dibuat sebelum 15 Februari 2022, aktifkan BigQuery Migration API seperti berikut:
Di konsol Google Cloud, buka halaman BigQuery Migration API.
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 mendapatkan izin yang diperlukan guna menggunakan penerjemah interaktif,
minta administrator untuk memberi Anda
peran IAM MigrationWorkflow Editor (roles/bigquerymigration.editor
) pada resource parent
.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditentukan ini berisi izin yang diperlukan untuk menggunakan penerjemah interaktif. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menggunakan penerjemah interaktif:
-
bigquerymigration.workflows.create
-
bigquerymigration.workflows.get
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
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
- Greenplum SQL
- IBM DB2 SQL
- MySQL SQL
- Oracle SQL, PL/SQL, Exadata
- PostgreSQL SQL
- Trino atau PrestoSQL
- Snowflake SQL
- SQL Server T-SQL
- SQLite
- Vertica SQL
Lokasi
Penerjemah SQL interaktif tersedia di lokasi pemrosesan berikut:
Deskripsi region | Nama region | Detail | |
---|---|---|---|
Asia Pasifik | |||
Tokyo | asia-northeast1 |
||
Mumbai | asia-south1 |
||
Singapura | asia-southeast1 |
||
Sydney | australia-southeast1 |
||
Eropa | |||
Multi-region Uni Eropa | eu |
||
Warsawa | europe-central2 |
||
Finlandia | europe-north1 |
CO Rendah2 | |
Madrid | europe-southwest1 |
CO Rendah2 | |
Belgia | europe-west1 |
CO Rendah2 | |
London | europe-west2 |
CO Rendah2 | |
Frankfurt | europe-west3 |
CO Rendah2 | |
Belanda | europe-west4 |
CO Rendah2 | |
Zürich | europe-west6 |
CO Rendah2 | |
Paris | europe-west9 |
CO2 Rendah | |
Turin | europe-west12 |
||
Amerika | |||
Quebec | northamerica-northeast1 |
CO2 Rendah | |
Sao Paulo | southamerica-east1 |
CO Rendah2 | |
Multi-region AS | us |
||
Iowa | us-central1 |
CO Rendah2 | |
South Carolina | us-east1 |
||
Northern Virginia | us-east4 |
||
Columbus, Ohio | us-east5 |
||
Dallas | us-south1 |
CO2 Rendah | |
Oregon | us-west1 |
CO Rendah2 | |
Los Angeles | us-west2 |
||
Salt Lake City | us-west3 |
Fitur aturan terjemahan tersedia di lokasi pemrosesan berikut:
us
(multi-region AS)eu
(multi-region Uni Eropa)us-central1
(Iowa)europe-west4
(Belanda)
Menerjemahkan kueri ke GoogleSQL
Ikuti langkah-langkah ini untuk menerjemahkan kueri ke GoogleSQL:
Di konsol Google Cloud, buka halaman BigQuery.
Di panel Editor, klik More, lalu pilih Translation settings.
Untuk Source dialect, pilih dialek SQL yang ingin Anda terjemahkan.
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
.Klik Save.
Di panel Editor, klik More, lalu pilih Enable SQL translation.
Panel Editor dibagi menjadi dua panel.
Di panel kiri, masukkan kueri yang ingin Anda terjemahkan.
Klik Translate.
BigQuery menerjemahkan kueri Anda ke GoogleSQL dan menampilkannya di panel kanan. Misalnya, screenshot berikut menunjukkan Teradata SQL yang telah diterjemahkan:
Opsional: Untuk menjalankan kueri GoogleSQL yang diterjemahkan, klik Run.
Opsional: Untuk kembali ke editor SQL, klik More, lalu pilih Disable SQL translation.
Panel Editor akan kembali ke satu panel.
Mengonfigurasi penerjemah SQL interaktif
Anda dapat mengonfigurasi penerjemah SQL interaktif untuk menyesuaikan cara penerjemah SQL interaktif menerjemahkan SQL sumber Anda. Anda dapat melakukannya dengan menyediakan aturan Anda sendiri untuk digunakan dengan Gemini dalam file konfigurasi YAML, atau dengan menyediakan file YAML konfigurasi yang berisi metadata objek SQL atau informasi pemetaan objek.
Membuat aturan terjemahan
Anda dapat menyesuaikan cara penerjemah SQL interaktif menerjemahkan SQL dengan membuat aturan terjemahan. Penerjemah SQL interaktif menyesuaikan terjemahannya berdasarkan aturan terjemahan SQL yang ditingkatkan Gemini yang Anda tetapkan, sehingga Anda dapat menyesuaikan hasil terjemahan berdasarkan kebutuhan migrasi. Fitur ini hanya didukung di lokasi tertentu.
Untuk membuat aturan terjemahan SQL yang ditingkatkan Gemini, lakukan salah satu hal berikut:
Konsol
Untuk membuat aturan terjemahan SQL yang ditingkatkan Gemini, lakukan hal berikut:
Setelah menjalankan terjemahan interaktif, klik Bantu, lalu klik Sesuaikan terjemahan ini.
Gunakan salah satu atau kedua perintah berikut untuk membuat aturan terjemahan:
Pada perintah Cari dan ganti pola, tentukan pola SQL yang ingin Anda ganti di kolom Ganti, dan pola SQL untuk menggantinya di kolom Dengan.
Pola SQL dapat berisi sejumlah pernyataan, klausa, atau fungsi dalam skrip SQL. Saat Anda membuat aturan menggunakan perintah ini, terjemahan SQL Gemini yang ditingkatkan akan mengidentifikasi instance pola SQL tersebut dalam output terjemahan dan menggantinya secara dinamis dengan pola SQL lain. Misalnya, Anda dapat menggunakan perintah ini untuk membuat aturan yang menggantikan semua kemunculan
months_between (X,Y)
dengandate_diff(X,Y,MONTH)
.Di kolom Describe a change to the output, ketik perubahan pada output terjemahan SQL dalam bahasa alami.
Saat Anda membuat aturan menggunakan perintah ini, terjemahan SQL yang ditingkatkan Gemini akan mengidentifikasi permintaan dan membuat perubahan yang ditentukan pada output terjemahan.
Klik Pratinjau.
Dalam dialog Pratinjau perubahan yang disarankan, tinjau perubahan yang dilakukan oleh terjemahan SQL yang ditingkatkan Gemini ke output terjemahan berdasarkan aturan Anda.
Opsional: Untuk menambahkan aturan ini agar dapat digunakan dengan terjemahan mendatang, centang kotak Tambahkan aturan....
Aturan disimpan dalam file YAML konfigurasi default, atau
__default.ai_config.yaml
. File YAML konfigurasi ini disimpan ke folder Cloud Storage seperti yang ditentukan di kolom Translation Configuration Source Location di setelan terjemahan. File YAML konfigurasi tunduk pada batasan ukuran file konfigurasi.Untuk menerapkan perubahan yang disarankan ke output terjemahan, klik Terapkan.
YAML
Untuk membuat aturan terjemahan SQL yang ditingkatkan Gemini, Anda dapat membuat file YAML konfigurasi berbasis Gemini dan menguploadnya ke Cloud Storage. Untuk informasi selengkapnya, lihat Membuat file YAML konfigurasi berbasis Gemini dan Menerapkan file YAML konfigurasi berbasis Gemini ke terjemahan berikutnya.
Menerapkan file YAML konfigurasi berbasis Gemini ke terjemahan berikutnya
Untuk menerapkan file YAML konfigurasi untuk output AI:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, klik More > Translation settings.
Di kolom Translation Configuration Source Location, tentukan jalur ke file YAML berbasis Gemini yang disimpan di folder Cloud Storage.
Klik Simpan. Setelah menjalankan terjemahan interaktif, titik merah akan muncul di tombol Bantu untuk menunjukkan bahwa saran Gemini tersedia.
Klik Bantu, lalu klik Lihat saran untuk melihat perubahan yang disarankan pada output terjemahan oleh layanan terjemahan SQL yang ditingkatkan dengan Gemini.
Dalam dialog Pratinjau perubahan yang disarankan, tinjau perubahan yang dilakukan oleh terjemahan SQL yang ditingkatkan Gemini ke output terjemahan berdasarkan aturan Anda.
Untuk menerapkan perubahan yang disarankan ke output terjemahan, klik Terapkan.
Menjelaskan terjemahan
Setelah menjalankan terjemahan interaktif, Anda dapat meminta penjelasan teks yang dibuat Gemini. Teks yang dihasilkan menyertakan ringkasan kueri SQL yang diterjemahkan. Gemini juga mengidentifikasi perbedaan dan inkonsistensi terjemahan antara kueri SQL sumber dan kueri GoogleSQL yang diterjemahkan.
Untuk mendapatkan penjelasan terjemahan SQL yang dihasilkan Gemini, lakukan hal berikut:
Untuk membuat penjelasan terjemahan SQL yang dihasilkan Gemini, klik Bantu, lalu klik Jelaskan terjemahan ini.
Menerjemahkan dengan ID konfigurasi terjemahan batch
Anda dapat menjalankan kueri interaktif dengan konfigurasi terjemahan yang sama seperti tugas terjemahan batch dengan memberikan ID konfigurasi terjemahan batch.
- Di editor kueri, klik More > Translation settings.
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.
Klik Simpan.
Menerjemahkan dengan konfigurasi tambahan
Anda dapat menjalankan kueri interaktif dengan konfigurasi terjemahan tambahan dengan menentukan file YAML 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 lokasi ke file sumber konfigurasi terjemahan, lakukan hal berikut:
- Di editor kueri, klik More > Translation settings.
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.
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.
Memecahkan masalah error terjemahan
Berikut adalah error umum yang terjadi saat menggunakan penerjemah SQL interaktif.
Masalah terjemahan RelationNotFound
atau AttributeNotFound
Untuk memastikan terjemahan yang paling akurat,
Anda dapat memasukkan 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;
Harga
Penggunaan penerjemah SQL interaktif tidak dikenai biaya. Namun, penyimpanan yang digunakan untuk menyimpan file input dan output dikenai biaya normal. Untuk mengetahui informasi selengkapnya, lihat Harga penyimpanan.
Langkah selanjutnya
Pelajari lebih lanjut langkah-langkah berikut dalam migrasi data warehouse:
- Ringkasan migrasi
- Penilaian migrasi
- Ringkasan skema dan transfer data
- Terjemahan batch SQL
- Pipeline data
- Tata kelola dan keamanan data
- Alat validasi data