Memigrasikan kode dengan penerjemah SQL batch
Dokumen ini menjelaskan cara menggunakan penerjemah SQL batch di BigQuery untuk menerjemahkan skrip yang ditulis dalam dialek SQL lainnya ke dalam kueri GoogleSQL. Anda dapat mengirimkan dan meninjau hasil tugas terjemahan dari konsol Google Cloud atau dari command line.
Untuk mengetahui daftar dialek SQL yang didukung oleh penerjemah SQL ini, lihat Dialek SQL yang didukung.
Untuk mengetahui daftar lokasi pemrosesan yang didukung, lihat Lokasi.
Sebelum memulai
Sebelum Anda mengirimkan tugas terjemahan, lakukan langkah-langkah berikut.
Mengaktifkan terjemahan SQL
Aktifkan API yang diperlukan, dan dapatkan izin yang diperlukan untuk menggunakan penerjemah SQL BigQuery. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan terjemahan SQL.
Izin yang diperlukan
Untuk mendapatkan izin yang
Anda perlukan untuk membuat tugas terjemahan dengan penerjemah interaktor, Translation API, atau penerjemah SQL batch,
minta administrator Anda untuk memberi Anda
peran IAM berikut pada resource parent:
-
Melihat dan memantau tugas migrasi:
Pelihat MigrationWorkflow (
roles/bigquerymigration.viewer) -
Mengirimkan tugas migrasi:
MigrationWorkflow Editor (
roles/bigquerymigration.editor) -
Akses bucket dan file Cloud Storage untuk input:
Storage Object Admin (
roles/storage.objectAdmin) - di bucket Cloud Storage sumber dan tujuan.
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat tugas terjemahan dengan penerjemah interaktor, Translation API, atau penerjemah SQL batch. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat tugas terjemahan dengan penerjemah interaktif, Translation API, atau penerjemah SQL batch:
-
bigquerymigration.workflows.create -
bigquerymigration.workflows.get -
bigquerymigration.workflows.list -
bigquerymigration.workflows.delete -
bigquerymigration.subtasks.get -
bigquerymigration.subtasks.list -
storage.objects.get -
storage.objects.list -
storage.objects.create
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Mengumpulkan file sumber
File sumber harus berupa file teks yang berisi SQL yang valid untuk dialek sumber. File sumber juga dapat menyertakan komentar. Lakukan yang terbaik untuk memastikan bahwa SQL valid, menggunakan metode apa pun yang tersedia.
Membuat file metadata
Untuk membantu layanan memberikan hasil terjemahan yang lebih akurat, sebaiknya Anda menyediakan file metadata. Namun, hal ini tidak wajib.
Anda dapat menggunakan alat ekstraksi command line dwh-migration-dumper untuk menghasilkan informasi metadata. Setelah menyiapkan file metadata, Anda dapat menyertakannya bersama dengan file sumber dalam folder sumber terjemahan. Penerjemah otomatis mendeteksinya dan memanfaatkannya untuk menerjemahkan file sumber. Anda tidak perlu mengonfigurasi setelan tambahan untuk mengaktifkannya.
Untuk menghasilkan informasi metadata menggunakan alat dwh-migration-dumper, lihat Membuat metadata untuk terjemahan.
Membuat file YAML konfigurasi
Jika ingin, Anda dapat membuat dan menggunakan file YAML konfigurasi untuk menyesuaikan terjemahan batch. File ini dapat digunakan untuk mengubah output terjemahan dengan berbagai cara. Misalnya, Anda dapat membuat file YAML konfigurasi untuk mengubah huruf objek SQL selama penerjemahan.
Untuk menggunakan file YAML konfigurasi, upload file tersebut ke bucket Cloud Storage yang berisi file sumber.
Mengupload file input ke Cloud Storage
Upload file sumber yang berisi kueri dan skrip yang ingin Anda terjemahkan ke Cloud Storage. Anda juga dapat mengupload file metadata apa pun atau file YAML konfigurasi ke bucket Cloud Storage dan direktori yang sama yang berisi file sumber. Untuk mengetahui informasi selengkapnya tentang membuat bucket dan mengupload file ke Cloud Storage, lihat Membuat bucket dan Mengupload objek dari sistem file.
Pilih cara mengirimkan tugas terjemahan
Anda memiliki dua opsi untuk mengirimkan tugas terjemahan batch:
KonsolGoogle Cloud : Mengonfigurasi dan mengirimkan tugas menggunakan antarmuka pengguna.
Alat command line: Jelaskan tugas dalam file konfigurasi terjemahan, lalu kirimkan dengan alat command line Google Cloud CLI atau alat command line bq.
Kedua opsi mengharuskan Anda mengupload file sumber ke Cloud Storage, dan keduanya membuat jenis tugas terjemahan yang sama. Tugas yang Anda kirimkan dari command line masih muncul dalam daftar tugas terjemahan di Google Cloud konsol.
Mengirim tugas terjemahan
Gunakan salah satu opsi berikut untuk memulai tugas terjemahan dan melihat progresnya. Untuk meninjau hasilnya setelahnya, lihat Menjelajahi output terjemahan.
Konsol
Langkah-langkah ini mengasumsikan bahwa Anda telah mengupload file sumber ke bucket Cloud Storage.
Untuk menggunakan konsol Google Cloud guna mengirimkan tugas terjemahan batch, lakukan langkah-langkah berikut:
Di konsol Google Cloud , buka halaman SQL Translation.
Di panel SQL translation, klik Start translation.
Untuk Konfigurasi terjemahan, masukkan yang berikut:
- Untuk Nama tampilan, masukkan nama untuk tugas terjemahan. Nama tersebut dapat berisi huruf, angka, atau garis bawah.
- Untuk Processing location, pilih lokasi tempat Anda ingin menjalankan tugas terjemahan. Misalnya, jika Anda berada di Eropa dan tidak ingin data Anda melewati batas lokasi, pilih region
eu. Tugas terjemahan akan memiliki performa terbaik jika Anda memilih lokasi yang sama dengan bucket file sumber. - Untuk Source dialect, pilih dialek SQL yang ingin Anda terjemahkan.
- Untuk Target dialect, pilih GoogleSQL.
Klik Berikutnya.
Untuk Detail lokasi file, tentukan jalur Cloud Storage yang akan digunakan untuk input dan output terjemahan. Anda dapat memasukkan jalur dalam format
bucket_name/folder_name/atau menggunakan opsi Browse untuk membuka folder.- Untuk Output directory location, tentukan jalur ke folder Cloud Storage tujuan untuk file yang diterjemahkan. Direktori ini berfungsi sebagai direktori root untuk semua output terjemahan.
- Pilih satu atau beberapa Lokasi direktori input yang berisi jalur ke file SQL yang akan diterjemahkan.
- Setiap direktori input dapat diberi nama subdirektori Output di bawah direktori output root jika diperlukan.
Klik Berikutnya.
Pilih setelan opsional yang diperlukan untuk menyesuaikan metadata dan output terjemahan tambahan.
Opsional: Untuk menyesuaikan perilaku terjemahan lebih lanjut, buat file YAML konfigurasi dan tempatkan file ini di bucket Cloud Storage input. File ini dapat digunakan untuk mengganti nama objek, mengaktifkan pengoptimalan, meningkatkan kualitas terjemahan dengan Gemini, dan banyak lagi. Untuk mengetahui informasi selengkapnya tentang file YAML konfigurasi, lihat Membuat file YAML konfigurasi.
Klik Create untuk memulai tugas terjemahan.
Setelah membuat tugas terjemahan, Anda dapat melihat statusnya di daftar tugas terjemahan.
bq
Untuk menggunakan gcloud CLI atau alat command line bq untuk mengirimkan tugas terjemahan batch, lakukan langkah-langkah berikut.
Langkah-langkah ini mengasumsikan bahwa Anda telah mengupload file sumber ke bucket Cloud Storage.
Membuat file konfigurasi terjemahan
File konfigurasi terjemahan menentukan jalur ke file sumber, tujuan output, serta dialek sumber dan target terjemahan Anda. Anda dapat menulis file ini dalam format YAML atau JSON.
Contoh berikut menunjukkan file YAML konfigurasi terjemahan untuk terjemahan Teradata ke BigQuery:
tasks: translation_task: type: Teradata2BigQuery_Translation translationDetails: sourceTargetMapping: - sourceSpec: baseUri: gs://bq-translations/input targetSpec: relativePath: output targetBaseUri: gs://bq-translations targetTypes: - sql sourceEnvironment: defaultDatabase: default_db schemaSearchPath: - foo
Contoh berikut menunjukkan file JSON konfigurasi terjemahan untuk terjemahan Teradata ke BigQuery:
{ "tasks": { "translation_task": { "type": "Teradata2BigQuery_Translation", "translationDetails": { "sourceTargetMapping": [ { "sourceSpec": { "literal": { "literalString": "sel 1", "relativePath": "my_input_1" }, "encoding": "UTF-8" } }, { "sourceSpec": { "literal": { "literalString": "sel 2", "relativePath": "my_input_2" }, "encoding": "UTF-8" } } ], "targetReturnLiterals": [ "sql/my_input_1", "sql/my_input_2" ] } } } }
Kirimkan tugas dengan Google Cloud CLI
Untuk membuat tugas terjemahan dan menjalankan alur kerja, gunakan perintah berikut:
gcloud bq migration-workflows create --location=LOCATION --config-file=CONFIG_FILE
Untuk membuat dan menjalankan alur kerja serta langsung menampilkan link ke alur kerja, tambahkan tanda --async:
gcloud bq migration-workflows create --location=LOCATION --config-file=CONFIG_FILE --async
Untuk mencantumkan tugas terjemahan, gunakan perintah berikut:
gcloud bq migration-workflows list --location=LOCATION
Untuk melihat detail tugas terjemahan tertentu, gunakan perintah berikut:
gcloud bq migration-workflows describe projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID
Ganti kode berikut:
LOCATION: lokasi Google Cloud project yang menjalankan tugas terjemahan ini.CONFIG_FILE: jalur ke file konfigurasi terjemahan Anda.PROJECT_ID: ID Google Cloud project yang menjalankan tugas terjemahan ini.WORKFLOW_ID: ID tugas terjemahan.
Mengirimkan tugas dengan alat command line bq
Untuk menjalankan tugas terjemahan, gunakan perintah berikut:
bq mk --migration_workflow --location=LOCATION --config_file=CONFIG_FILE
Untuk mencantumkan semua tugas terjemahan Anda, gunakan perintah berikut:
bq ls --migration_workflow --location=LOCATION
Untuk melihat detail tentang tugas terjemahan tertentu, gunakan perintah berikut:
bq show --migration_workflow projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID
Untuk menghapus tugas terjemahan dari daftar, gunakan perintah berikut:
bq rm --migration_workflow projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID
Ganti kode berikut:
LOCATION: lokasi Google Cloud project yang menjalankan tugas terjemahan ini.CONFIG_FILE: jalur ke file konfigurasi terjemahan Anda.PROJECT_ID: ID Google Cloud project yang menjalankan tugas terjemahan ini.WORKFLOW_ID: ID tugas terjemahan.
Mengambil file output
Tugas terjemahan menulis hasilnya ke direktori Cloud Storage yang Anda tetapkan di kolom targetBaseUri pada file konfigurasi terjemahan. Direktori target ini menyimpan file yang diterjemahkan, laporan ringkasan terjemahan, dan file saran AI.
Untuk menyalin output ke komputer lokal, gunakan perintah berikut:
gcloud storage cp --recursive TARGET_URI LOCAL_DIRECTORY
Ganti kode berikut:
TARGET_URI: URI dasar target Anda, sepertigs://my_data_bucket/teradata/output/.LOCAL_DIRECTORY: direktori lokal yang menerima file.
Tugas Anda juga muncul dalam daftar tugas terjemahan di konsolGoogle Cloud , meskipun Anda mengirimkannya dari command line. Untuk meninjau kualitas output terjemahan, lihat Mempelajari output terjemahan.
Pelajari output terjemahan
Anda dapat meninjau hasil tugas terjemahan di konsol Google Cloud , terlepas dari apakah tugas dikirimkan dari command line atau konsol Google Cloud . Penerjemah SQL batch menghasilkan file berikut ke tujuan yang ditentukan:
- File yang diterjemahkan.
- Laporan ringkasan terjemahan dalam format CSV.
- File saran AI.
Output konsolGoogle Cloud
Untuk melihat detail tugas terjemahan, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman SQL Translation.
Dalam daftar tugas terjemahan, temukan tugas yang ingin Anda lihat detail terjemahannya. Kemudian, klik nama tugas terjemahan. Anda dapat melihat visualisasi Sankey yang menggambarkan kualitas keseluruhan tugas, jumlah baris kode input (tidak termasuk baris kosong dan komentar), dan daftar masalah yang terjadi selama proses terjemahan. Anda harus memprioritaskan perbaikan dari kiri ke kanan. Masalah pada tahap awal dapat menyebabkan masalah tambahan pada tahap berikutnya.
Arahkan kursor ke error atau peringatan, dan tinjau saran untuk menentukan langkah berikutnya dalam men-debug tugas terjemahan.
Pilih tab Ringkasan Log untuk melihat ringkasan masalah terjemahan, termasuk kategori masalah, tindakan yang disarankan, dan seberapa sering setiap masalah terjadi. Anda dapat mengklik batang visualisasi Sankey untuk memfilter masalah. Anda juga dapat memilih kategori masalah untuk melihat pesan log yang terkait dengan kategori masalah tersebut.
Pilih tab Pesan Log untuk melihat detail selengkapnya tentang setiap masalah terjemahan, termasuk kategori masalah, pesan masalah tertentu, dan link ke file tempat masalah terjadi. Anda dapat mengklik batang visualisasi Sankey untuk memfilter masalah. Anda dapat memilih masalah di tab Log Message untuk membuka tab Kode yang menampilkan file input dan output jika berlaku.
Klik tab Job details untuk melihat detail konfigurasi tugas terjemahan.
Laporan ringkasan
Laporan ringkasan adalah file CSV yang berisi tabel yang memuat semua pesan peringatan dan error yang ditemukan selama tugas terjemahan.
Untuk melihat file ringkasan di konsol Google Cloud , ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman SQL Translation.
Dalam daftar tugas terjemahan, temukan tugas yang Anda minati, lalu klik nama tugas atau klik Opsi lainnya > Tampilkan detail.
Di tab Job details, di bagian Translation report, klik translation_report.csv.
Di halaman Object details, klik nilai di baris Authenticated URL untuk melihat file di browser Anda.
Tabel berikut menjelaskan kolom file ringkasan:
| Kolom | Deskripsi |
|---|---|
| Stempel waktu | Stempel waktu saat masalah terjadi. |
| FilePath | Jalur ke file sumber yang terkait dengan masalah. |
| FileName | Nama file sumber yang terkait dengan masalah. |
| ScriptLine | Nomor baris tempat masalah terjadi. |
| ScriptColumn | Nomor kolom tempat masalah terjadi. |
| TranspilerComponent | Komponen internal mesin terjemahan tempat peringatan atau error terjadi. Kolom ini mungkin kosong. |
| Lingkungan | Lingkungan dialek terjemahan yang terkait dengan peringatan atau error. Kolom ini mungkin kosong. |
| ObjectName | Objek SQL dalam file sumber yang terkait dengan peringatan atau error. Kolom ini mungkin kosong. |
| Keseriusan | Tingkat keparahan masalah, baik berupa peringatan maupun error. |
| Kategori | Kategori masalah terjemahan. |
| SourceType | Sumber masalah ini. Nilai dalam kolom ini dapat berupa SQL, yang menunjukkan masalah dalam file SQL input, atau METADATA, yang menunjukkan masalah dalam paket metadata. |
| Pesan | Pesan error atau peringatan masalah terjemahan. |
| ScriptContext | Cuplikan SQL dalam file sumber yang terkait dengan masalah. |
| Tindakan | Tindakan yang kami sarankan untuk Anda lakukan guna menyelesaikan masalah. |
Tab Kode
Tab kode memungkinkan Anda meninjau informasi lebih lanjut tentang file input dan output untuk tugas terjemahan tertentu. Di tab kode, Anda dapat memeriksa file yang digunakan dalam tugas terjemahan, meninjau perbandingan berdampingan antara file input dan terjemahannya untuk menemukan ketidakakuratan, serta melihat ringkasan dan pesan log untuk file tertentu dalam tugas.
Untuk mengakses tab kode, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman SQL Translation.
Dalam daftar tugas terjemahan, temukan tugas yang Anda minati, lalu klik nama tugas atau klik Opsi lainnya > Tampilkan detail.
Pilih Tab kode. Tab kode terdiri dari panel berikut:
- Penjelajah file: Berisi semua file SQL yang digunakan untuk terjemahan. Klik file untuk melihat input dan output terjemahannya, serta masalah terjemahan dari terjemahannya.
- Input yang ditingkatkan Gemini: Input SQL yang diterjemahkan oleh mesin terjemahan. Jika Anda telah menentukan aturan penyesuaian Gemini untuk SQL sumber dalam konfigurasi Gemini, maka penerjemah akan mengubah input asli terlebih dahulu, lalu menerjemahkan input yang ditingkatkan Gemini. Untuk melihat input asli, klik Lihat input asli.
- Output terjemahan: Hasil terjemahan. Jika Anda telah menentukan aturan penyesuaian Gemini untuk SQL target di konfigurasi Gemini, maka transformasi diterapkan pada hasil terjemahan sebagai output yang ditingkatkan Gemini. Jika output yang ditingkatkan Gemini tersedia, Anda dapat mengklik tombol Saran Gemini untuk meninjau output yang ditingkatkan Gemini.
Opsional: Untuk melihat file input dan file outputnya di penerjemah SQL interaktif BigQuery, klik Edit. Anda dapat mengedit file dan menyimpan file output kembali ke Cloud Storage.
Tab konfigurasi
Anda dapat menambahkan, mengganti nama, melihat, atau mengedit file YAML konfigurasi di tab Konfigurasi. Schema Explorer menampilkan dokumentasi untuk jenis konfigurasi yang didukung guna membantu Anda menulis file YAML konfigurasi. Setelah mengedit file YAML konfigurasi, Anda dapat menjalankan ulang tugas untuk menggunakan konfigurasi baru.
Untuk mengakses tab konfigurasi, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman SQL Translation.
Dalam daftar tugas terjemahan, temukan tugas yang Anda minati, lalu klik nama tugas atau klik Opsi lainnya > Tampilkan detail.
Di jendela Detail terjemahan, klik tab Konfigurasi.
Untuk menambahkan file konfigurasi baru:
- Klik more_vert Opsi lainnya > Buat file YAML konfigurasi.
- Panel akan muncul tempat Anda dapat memilih jenis, lokasi, dan nama file YAML konfigurasi baru.
- Klik Create.
Untuk mengedit file konfigurasi yang ada:
- Klik file YAML konfigurasi.
- Edit file, lalu klik Simpan.
- Klik Jalankan ulang untuk menjalankan tugas terjemahan baru yang menggunakan file YAML konfigurasi yang telah diedit.
Anda dapat mengganti nama file konfigurasi yang ada dengan mengklik more_vert Opsi lainnya > Ganti nama.
File yang diterjemahkan
Untuk setiap file sumber, file output yang sesuai akan dihasilkan di jalur tujuan. File output berisi kueri yang diterjemahkan.
Menangani fungsi SQL yang tidak didukung dengan UDF pembantu
Saat menerjemahkan SQL dari dialek sumber ke BigQuery, beberapa fungsi mungkin tidak memiliki padanan langsung. Untuk mengatasi hal ini, BigQuery Migration Service (dan komunitas BigQuery yang lebih luas) menyediakan fungsi yang ditentukan pengguna (UDF) pembantu yang mereplikasi perilaku fungsi dialek sumber yang tidak didukung ini.
UDF ini sering ditemukan di set data publik bqutil, sehingga kueri yang diterjemahkan dapat merujuknya terlebih dahulu menggunakan format bqutil.<dataset>.<function>(). Misalnya, bqutil.fn.cw_count().
Pertimbangan untuk lingkungan produksi
Meskipun bqutil menawarkan akses mudah ke UDF helper ini untuk terjemahan dan pengujian awal, pengandalan langsung pada bqutil untuk workload produksi tidak direkomendasikan karena alasan berikut:
- Kontrol versi: Project
bqutilmenghosting versi terbaru UDF ini, yang berarti definisinya dapat berubah seiring waktu. Mengandalkanbqutilsecara langsung dapat menyebabkan perilaku yang tidak terduga atau perubahan yang merusak dalam kueri produksi Anda jika logika UDF diperbarui. - Isolasi dependensi: Men-deploy UDF ke project Anda sendiri akan mengisolasi lingkungan produksi Anda dari perubahan eksternal.
- Penyesuaian: Anda mungkin perlu mengubah atau mengoptimalkan UDF ini agar lebih sesuai dengan logika bisnis atau persyaratan performa tertentu. Hal ini hanya dapat dilakukan jika mereka berada dalam project Anda sendiri.
- Keamanan dan tata kelola: Kebijakan keamanan organisasi Anda mungkin membatasi akses langsung ke set data publik seperti
bqutiluntuk pemrosesan data produksi. Menyalin UDF ke lingkungan yang dikontrol sesuai dengan kebijakan tersebut.
Men-deploy UDF helper ke project Anda
Untuk memberi Anda kontrol penuh atas versi, penyesuaian, dan akses UDF, kami merekomendasikan deployment UDF pembantu ke project dan set data Anda sendiri untuk penggunaan produksi yang andal dan stabil. Untuk mengetahui informasi selengkapnya tentang skrip dan langkah-langkah yang diperlukan untuk men-deploy UDF pembantu ke lingkungan Anda, lihat Men-deploy UDF.
Pemecahan masalah
Bagian ini menjelaskan cara men-debug kueri satu per satu dan cara mengatasi error terjemahan yang paling umum.
Men-debug kueri SQL yang diterjemahkan batch dengan penerjemah SQL interaktif
Anda dapat menggunakan penerjemah SQL interaktif BigQuery untuk meninjau atau men-debug kueri SQL menggunakan metadata atau informasi pemetaan objek yang sama seperti database sumber Anda. Setelah Anda menyelesaikan tugas terjemahan batch, BigQuery akan membuat ID konfigurasi terjemahan yang berisi informasi tentang metadata tugas, pemetaan objek, atau jalur penelusuran skema, sebagaimana yang berlaku untuk kueri tersebut. Gunakan ID konfigurasi terjemahan batch dengan penerjemah SQL interaktif untuk menjalankan kueri SQL dengan konfigurasi yang ditentukan.
Untuk memulai terjemahan SQL interaktif menggunakan ID konfigurasi terjemahan batch, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman SQL Translation.
Dalam daftar tugas terjemahan, temukan tugas yang Anda minati, lalu klik More Options > Open Interactive Translation.
Penerjemah SQL interaktif BigQuery kini terbuka dengan ID konfigurasi terjemahan batch yang sesuai. Guna melihat ID konfigurasi terjemahan untuk terjemahan interaktif, klik Alat > Terjemahan kueri > Setelan terjemahan di penerjemah SQL interaktif.
Untuk men-debug file terjemahan batch di penerjemah SQL interaktif, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman SQL Translation.
Dalam daftar tugas terjemahan, temukan tugas yang Anda minati, lalu klik nama tugas atau klik More options > Show details.
Di jendela Translation details, klik tab Code.
Di file explorer, klik nama file Anda untuk membuka file.
Di samping nama file output, klik Edit untuk membuka file di penerjemah SQL interaktif (Pratinjau).
Anda akan melihat file input dan output diisi di penerjemah SQL interaktif yang kini menggunakan ID konfigurasi terjemahan batch yang sesuai.
Untuk menyimpan file output yang telah diedit kembali ke Cloud Storage, di penerjemah SQL interaktif, klik Simpan > Simpan Ke GCS.
Memecahkan masalah error terjemahan
Bagian berikut menjelaskan error umum yang terjadi saat menggunakan penerjemah SQL batch.
Masalah terjemahan RelationNotFound atau AttributeNotFound
Setelah menerjemahkan kueri menggunakan
penerjemah SQL batch,
Anda mungkin mengalami kegagalan terjemahan dengan error RelationNotFound atau
AttributeNotFound.
Anda dapat menemukan terjemahan yang gagal dengan membuka halaman Detail terjemahan di BigQuery di konsol Google Cloud dan membuka tab Pesan Log.
Terjemahan berfungsi paling baik dengan DDL metadata. Jika definisi objek SQL tidak dapat ditemukan, mesin terjemahan akan menimbulkan masalah RelationNotFound atau AttributeNotFound. Sebaiknya gunakan ekstraktor metadata untuk membuat paket metadata guna memastikan semua definisi objek ada. Menambahkan metadata adalah langkah pertama yang direkomendasikan untuk mengatasi sebagian besar error terjemahan, karena langkah ini sering kali memperbaiki banyak error lain yang disebabkan secara tidak langsung oleh kurangnya metadata.
Untuk mengetahui informasi selengkapnya, lihat Membuat metadata untuk terjemahan dan penilaian.
Memperbaiki masalah terjemahan dengan Gemini
Untuk memperbaiki tugas terjemahan yang gagal dengan error RelationNotFound atau
AttributeNotFound, Anda juga dapat menggunakan Gemini untuk menyelesaikan masalah
ini:
- Buka halaman Detail terjemahan dan buka tab Pesan Log.
- Klik kueri yang memiliki pesan
RelationNotFoundatauAttributeNotFounddi kolom Kategori. Untuk membuka file dan baris yang berisi error di tab kode, klik
pesan error.
Di kolom Tindakan, klik Perbaikan yang disarankan.
Pilih salah satu opsi berikut, Terapkan atau Terapkan dan jalankan ulang:
- Untuk menyalin file skema yang dihasilkan dari direktori output ke direktori input, klik Terapkan.
- Untuk menyalin file skema yang dihasilkan dari direktori output ke direktori input dan membuka jendela jalankan ulang, klik Terapkan dan jalankan ulang.
Kuota dan batas
- Kuota BigQuery Migration API berlaku.
- Setiap project dapat memiliki maksimal 10 tugas terjemahan aktif.
- Meskipun tidak ada batasan pasti untuk jumlah total file sumber dan metadata, sebaiknya pertahankan jumlah file tersebut agar tetap kurang dari 1.000 untuk mendapatkan performa yang lebih baik.
Harga
Penggunaan penerjemah SQL batch tidak dikenai biaya. Namun, penyimpanan yang digunakan untuk menyimpan file input dan output dikenakan biaya normal. Untuk mengetahui informasi selengkapnya, lihat Harga penyimpanan.
Langkah berikutnya
Pelajari lebih lanjut langkah-langkah berikut dalam migrasi data warehouse:
- Ringkasan migrasi
- Penilaian migrasi
- Ringkasan skema dan transfer data
- Pipeline data
- Terjemahan SQL interaktif
- Tata kelola dan keamanan data
- Alat validasi data