Traduci le query con il traduttore SQL interattivo
Questo documento descrive come tradurre una query da un dialetto SQL diverso in una query GoogleSQL utilizzando il traduttore SQL interattivo BigQuery. Il traduttore SQL interattivo può aiutarti a ridurre i tempi e lBigQuery9;impegno necessari Questo documento è rivolto agli utenti che conoscono la console Google Cloud.
Se la tua località è supportata, puoi utilizzare la funzionalità della regola di traduzione (Anteprima) per personalizzare il modo in cui il traduttore SQL interattivo traduce il codice SQL.
Limitazioni
Devi aver eseguito l'accesso con un Account Google per utilizzare il traduttore SQL interattivo. Il traduttore SQL interattivo non supporta l'uso di identità federate.
Prima di iniziare
Se il tuo progetto Google Cloud CLI è stato creato prima del 15 febbraio 2022, abilita l'API BigQuery Migration come segue:
Nella console Google Cloud, vai alla pagina dell'API BigQuery Migration.
Fai clic su Abilita.
Autorizzazioni e ruoli
Questa sezione descrive le autorizzazioni IAM (Identity and Access Management) necessarie per utilizzare il traduttore SQL interattivo, inclusi i ruoli IAM predefiniti che concedono queste autorizzazioni. La sezione descrive anche le autorizzazioni necessarie per configurare ulteriori configurazioni.
Autorizzazioni per utilizzare il traduttore SQL interattivo
Per utilizzare il traduttore SQL interattivo, devi disporre della seguente autorizzazione:
bigquerymigration.translation.translate
Il seguente ruolo IAM predefinito fornisce l'autorizzazione necessaria per utilizzare il traduttore SQL interattivo:
roles/bigquerymigration.translationUser
Per eseguire una query dal traduttore SQL interattivo, devi disporre delle stesse autorizzazioni necessarie per eseguire qualsiasi query in BigQuery. Ad esempio, per eseguire query su una tabella, devi disporre dell'autorizzazione per leggere i dati della tabella. Per ulteriori informazioni, consulta Esecuzione di query sui dati di BigQuery.
Autorizzazioni per configurare configurazioni di traduzione aggiuntive
Puoi configurare configurazioni di traduzione aggiuntive utilizzando i campi Translation Config ID (ID configurazione traduzione) e Translation Configuration Source Location (Località di origine configurazione traduzione) nelle impostazioni di traduzione. Per configurare queste configurazioni di traduzione, devi disporre delle seguenti autorizzazioni:
bigquerymigration.workflows.get
bigquerymigration.workflows.list
Il seguente ruolo IAM predefinito fornisce le autorizzazioni necessarie per configurare ulteriori configurazioni di traduzione:
roles/bigquerymigration.viewer
Per ulteriori informazioni su BigQuery IAM, consulta Controllo dell'accesso con IAM.
Dialetti SQL supportati
Il traduttore SQL interattivo BigQuery può tradurre i seguenti dialetti SQL in GoogleSQL:
- SQL di Amazon Redshift
- Interfaccia a riga di comando Apache HiveQL e Beeline
- IBM Netezza SQL e NZPLSQL
- Teradata e Teradata Vantage:
- SQL
- Query Teradata di base (BTEQ)
- Teradata Parallel Transport (TPT)
Inoltre, la traduzione dei seguenti dialetti SQL è supportata in anteprima:
- Apache Spark SQL
- T-SQL di Azure Synapse
- SQL Greenplum
- SQL IBM DB2
- SQL MySQL
- Oracle SQL, PL/SQL, Exadata
- SQL PostgreSQL
- Trino o PrestoSQL
- SQL Snowflake
- T-SQL per SQL Server
- SQLite
- SQL vertica
Località
Il traduttore SQL interattivo è disponibile nelle seguenti località di elaborazione:
Descrizione regione | Nome regione | Dettagli | |
---|---|---|---|
Asia Pacifico | |||
Tokyo | asia-northeast1 |
||
Mumbai | asia-south1 |
||
Singapore | asia-southeast1 |
||
Sydney | australia-southeast1 |
||
Europa | |||
Multiregionale UE | eu |
||
Varsavia | europe-central2 |
||
Finlandia | europe-north1 |
A basse emissioni di CO2 | |
Madrid | europe-southwest1 |
A basse emissioni di CO2 | |
Belgio | europe-west1 |
A basse emissioni di CO2 | |
Londra | europe-west2 |
A basse emissioni di CO2 | |
Francoforte | europe-west3 |
A basse emissioni di CO2 | |
Paesi Bassi | europe-west4 |
A basse emissioni di CO2 | |
Zurigo | europe-west6 |
A basse emissioni di CO2 | |
Parigi | europe-west9 |
A basse emissioni di CO2 | |
Torino | europe-west12 |
||
Americhe | |||
San Paolo | southamerica-east1 |
A basse emissioni di CO2 | |
Stati Uniti (più regioni) | us |
||
Iowa | us-central1 |
A basse emissioni di CO2 | |
Carolina del Sud | us-east1 |
||
Virginia del Nord | us-east4 |
||
Columbus, Ohio | us-east5 |
||
Dallas | us-south1 |
A basse emissioni di CO2 | |
Oregon | us-west1 |
A basse emissioni di CO2 | |
Los Angeles | us-west2 |
||
Salt Lake City | us-west3 |
La funzionalità regola di traduzione è disponibile nelle seguenti località di elaborazione:
us
(Stati Uniti (più regioni)eu
(UE (più regioni)us-central1
(Iowa)europe-west4
(Paesi Bassi)
Traduci una query in GoogleSQL
Segui questi passaggi per tradurre una query in GoogleSQL:
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Editor, fai clic su Altro e poi seleziona Impostazioni di traduzione.
Per Dialetto di origine, seleziona il dialetto SQL che vuoi tradurre.
Facoltativo. In Località di elaborazione, seleziona la località in cui vuoi eseguire il job di traduzione. Ad esempio, se ti trovi in Europa e non vuoi che i tuoi dati superino i confini delle località, seleziona la regione
eu
.Fai clic su Salva.
Nel riquadro Editor, fai clic su Altro e poi seleziona Abilita traduzione SQL.
Il riquadro Editor è suddiviso in due riquadri.
Nel riquadro a sinistra, inserisci la query da tradurre.
Fai clic su Traduci.
BigQuery converte la tua query in GoogleSQL e la visualizza nel riquadro destro. Ad esempio, lo screenshot seguente mostra il codice SQL Teradata tradotto:
(Facoltativo) Per eseguire la query GoogleSQL tradotta, fai clic su Esegui.
(Facoltativo) Per tornare all'editor SQL, fai clic su Altro, quindi seleziona Disabilita traduzione SQL.
Il riquadro Editor torna alla visualizzazione di un singolo riquadro.
Crea una regola di traduzione
Puoi personalizzare il modo in cui il traduttore SQL interattivo traduce il codice SQL creando regole di traduzione. Il traduttore SQL interattivo regola le traduzioni in base a qualsiasi regola di traduzione SQL migliorata di Gemini che assegni, consentendoti di personalizzare i risultati della traduzione in base alle tue esigenze di migrazione. Questa funzionalità è supportata solo in determinate località.
Per creare una regola di traduzione SQL avanzata con Gemini, segui questi passaggi:
Dopo aver eseguito una traduzione interattiva, fai clic su Personalizza.
Utilizza uno o entrambi i seguenti prompt per creare una regola di traduzione:
Nel prompt Sostituisci un pattern SQL con un altro, specifica un pattern SQL da sostituire nel campo Sostituisci e un pattern SQL da sostituire nel campo Con.
Un pattern SQL può contenere un numero illimitato di istruzioni, clausole o funzioni in uno script SQL. Quando crei una regola utilizzando questo prompt, la traduzione SQL avanzata di Gemini identifica tutte le istanze di quel pattern SQL nell'output di traduzione e le sostituisce in modo dinamico con un altro pattern SQL. Ad esempio, puoi utilizzare questo prompt per creare una regola che sostituisca tutte le occorrenze di
months_between (X,Y)
condate_diff(X,Y,MONTH)
.Nel campo Descrivi una modifica all'output di traduzione, descrivi una modifica all'output di traduzione SQL in linguaggio naturale.
Quando crei una regola utilizzando questo prompt, la traduzione SQL avanzata di Gemini identifica la richiesta e apporta la modifica specificata all'output della traduzione.
Fai clic su Anteprima.
Nella finestra di dialogo Anteprima delle modifiche suggerite, esamina le modifiche apportate dalla traduzione SQL avanzata di Gemini nell'output di traduzione in base alla regola.
(Facoltativo) Per aggiungere questa regola da utilizzare con le traduzioni future, seleziona la casella di controllo Aggiungi regola....
Le regole vengono salvate in un file YAML di configurazione come specificato nel campo Posizione di origine configurazione della traduzione nelle impostazioni di traduzione. Per ulteriori informazioni sui file YAML di configurazione, consulta Traduzione di una query con configurazioni aggiuntive.. Un file YAML di configurazione può supportare fino a 10 regole di traduzione.
Per applicare le modifiche suggerite all'output di traduzione, fai clic su Applica.
Migliora le prestazioni del job di traduzione interattiva
Per migliorare la stabilità ed evitare problemi di timeout della rete nei job di traduzione interattiva a lunga esecuzione (ad esempio utilizzando un pacchetto di file di metadati di grandi dimensioni), abilita l'API Consolidated Translation. L'API di traduzione consolidata combina il traduttore interattivo e batch in un unico flusso di lavoro, migliorando l'efficienza e la stabilità dei job di traduzione interattivi.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per utilizzare l'API di traduzione consolidata con il traduttore interattivo,
chiedi all'amministratore di concederti il ruolo IAM
Editor MigrationWorkflow (roles/bigquerymigration.editor
) per la risorsa parent
.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questo ruolo predefinito contiene le autorizzazioni necessarie per utilizzare l'API di traduzione consolidata con il traduttore interattivo. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per utilizzare l'API di traduzione consolidata con il traduttore interattivo sono necessarie le seguenti autorizzazioni:
-
bigquerymigration.workflows.create
-
bigquerymigration.workflows.get
Potresti anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Abilita l'API di traduzione consolidata
Per attivare l'API di traduzione consolidata per il traduttore interattivo, compila il modulo di inserimento nella lista consentita dell'API Consolidated Translation. Per ulteriori informazioni sull'utilizzo dell'API di traduzione consolidata con il traduttore SQL batch, consulta le istruzioni dell'API in Inviare un job di traduzione.
Traduci una query con configurazioni aggiuntive
Puoi eseguire una query interattiva con configurazioni di traduzione aggiuntive fornendo un ID di configurazione della traduzione batch o con i file di configurazione archiviati in una cartella di Cloud Storage. Le configurazioni di traduzione possono includere metadati degli oggetti SQL o informazioni di mappatura degli oggetti dal database di origine, in grado di migliorare la qualità della traduzione. Includi ad esempio informazioni o schemi DDL dal database di origine per migliorare la qualità della traduzione SQL interattiva.
Per specificare le configurazioni di traduzione fornendo un ID configurazione della traduzione batch, segui questi passaggi:
- Nell'editor query, fai clic su Altro > Impostazioni di traduzione.
Nel campo Translation Configuration ID (ID configurazione di traduzione), fornisci un ID configurazione della traduzione batch per applicare la stessa configurazione di traduzione da un job di migrazione batch di BigQuery completato.
Per trovare l'ID configurazione della traduzione batch di un job, seleziona un job di traduzione batch dalla pagina Traduzione SQL, quindi fai clic sulla scheda Configurazione di traduzione. L'ID configurazione della traduzione batch è indicato come Nome risorsa.
Fai clic su Salva.
Per specificare le configurazioni di traduzione fornendo una posizione per i file di origine delle configurazioni di traduzione, segui questi passaggi:
- Nell'editor query, fai clic su Altro > Impostazioni di traduzione.
Nel campo Percorso di origine della configurazione della traduzione, specifica il percorso dei file di configurazione della traduzione archiviati in una cartella di Cloud Storage.
Il traduttore SQL interattivo BigQuery supporta i file di configurazione contenenti metadati di traduzione e la mappatura dei nomi degli oggetti. Per informazioni su come caricare file in Cloud Storage, vedi Caricare oggetti da un file system.
Fai clic su Salva.
Limiti delle dimensioni del file di configurazione
Quando utilizzi un file di configurazione della traduzione con il traduttore SQL interattivo BigQuery, il file di metadati compresso o il file di configurazione YAML deve avere dimensioni inferiori a 50 MB. Se le dimensioni del file superano i 50 MB, il traduttore interattivo ignora il file di configurazione durante la traduzione e genera un messaggio di errore simile al seguente:
CONFIG ERROR: Skip reading file "gs://metadata-file.zip". File size (150,000,000 bytes)
exceeds limit (50 MB).
Un metodo per ridurre le dimensioni del file di metadati consiste nell'utilizzare i flag --database
o --schema
per estrarre solo metadati per database o schemi pertinenti per
le query di input di traduzione. Per ulteriori informazioni sull'utilizzo di questi flag quando
generi file di metadati, consulta la sezione Flag globali.
Risolvere gli errori di traduzione
Di seguito sono riportati errori comuni che si verificano durante l'utilizzo del traduttore SQL interattivo.
Problemi di traduzione in RelationNotFound
o AttributeNotFound
Per garantire la traduzione più accurata,
puoi inserire le istruzioni DDL (Data Definition Language) per qualsiasi tabella utilizzata
in una query prima della query stessa. Ad esempio, se vuoi tradurre la query Amazon Redshift select table1.field1, table2.field1
from table1, table2 where table1.id = table2.id;
, devi inserire le seguenti istruzioni SQL nel traduttore SQL interattivo:
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;
Prezzi
Non è previsto alcun costo per l'utilizzo del traduttore SQL interattivo. Tuttavia, l'archiviazione utilizzata per archiviare i file di input e output comporta le normali tariffe. Per maggiori informazioni, vedi Prezzi dell'archiviazione.
Passaggi successivi
Scopri di più sui seguenti passaggi della migrazione del data warehouse:
- Panoramica della migrazione
- Valutazione della migrazione
- Panoramica del trasferimento di schemi e dati
- Traduzione SQL batch
- Pipeline di dati
- Sicurezza e governance dei dati
- Strumento di convalida dei dati