Tradurre 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 di BigQuery. Il traduttore SQL interattivo può aiutarti a ridurre il tempo e l'impegno per la migrazione dei carichi di lavoro a BigQuery. Questo documento è rivolto agli utenti che hanno familiarità con la console Google Cloud.
Se la tua posizione è supportata, puoi utilizzare la funzionalità delle regole di traduzione (anteprima) per personalizzare il modo in cui il traduttore SQL interattivo traduce SQL.
Limitazioni
Per utilizzare il traduttore SQL interattivo, devi aver eseguito l'accesso con un Account Google. Il traduttore SQL interattivo non supporta l'utilizzo di identità federate.
Prima di iniziare
Se il tuo progetto Google Cloud CLI è stato creato prima del 15 febbraio 2022, attiva l'API BigQuery Migration come segue:
Nella console Google Cloud, vai alla pagina API BigQuery Migration.
Fai clic su Attiva.
Autorizzazioni e ruoli
Questa sezione descrive le autorizzazioni di Identity and Access Management (IAM) di cui hai bisogno per utilizzare il traduttore SQL interattivo, inclusi i ruoli IAM predefiniti che concedono queste autorizzazioni. La sezione descrive anche le autorizzazioni necessarie per configurare configurazioni di traduzione aggiuntive.
Autorizzazioni per utilizzare il traduttore SQL interattivo
Per ottenere le autorizzazioni necessarie per utilizzare il traduttore interattivo,
chiedi all'amministratore di concederti il ruolo IAM MigrationWorkflow Editor (roles/bigquerymigration.editor
) nella risorsa parent
.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per utilizzare il traduttore interattivo. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per utilizzare il traduttore interattivo sono necessarie le seguenti autorizzazioni:
-
bigquerymigration.workflows.create
-
bigquerymigration.workflows.get
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Autorizzazioni per configurare configurazioni di traduzione aggiuntive
Puoi configurare configurazioni di traduzione aggiuntive utilizzando i campi ID configurazione traduzione e Posizione di origine della configurazione di 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 IAM di BigQuery, consulta Controllo dell'accesso con IAM.
Dialetti SQL supportati
Il traduttore SQL interattivo di BigQuery può tradurre i seguenti dialetti SQL in GoogleSQL:
- Amazon Redshift SQL
- Apache HiveQL e interfaccia a riga di comando 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
- Greenplum SQL
- SQL di IBM DB2
- MySQL SQL
- Oracle SQL, PL/SQL, Exadata
- SQL PostgreSQL
- Trino o PrestoSQL
- Snowflake SQL
- T-SQL di SQL Server
- SQLite
- Vertica SQL
Località
Il traduttore SQL interattivo è disponibile nelle seguenti località di elaborazione:
Descrizione della regione | Nome della regione | Dettagli | |
---|---|---|---|
Asia Pacifico | |||
Tokyo | asia-northeast1 |
||
Mumbai | asia-south1 |
||
Singapore | asia-southeast1 |
||
Sydney | australia-southeast1 |
||
Europa | |||
Multiregione UE | eu |
||
Varsavia | europe-central2 |
||
Finlandia | europe-north1 |
Bassi livelli di CO2 | |
Madrid | europe-southwest1 |
Bassi livelli di CO2 | |
Belgio | europe-west1 |
Bassi livelli di CO2 | |
Londra | europe-west2 |
Bassi livelli di CO2 | |
Francoforte | europe-west3 |
Bassi livelli di CO2 | |
Paesi Bassi | europe-west4 |
Bassi livelli di CO2 | |
Zurigo | europe-west6 |
Bassi livelli di CO2 | |
Parigi | europe-west9 |
Bassi livelli di CO2 | |
Torino | europe-west12 |
||
Americhe | |||
Québec | northamerica-northeast1 |
Bassi livelli di CO2 | |
San Paolo | southamerica-east1 |
Bassi livelli di CO2 | |
Multiregione Stati Uniti | us |
||
Iowa | us-central1 |
Bassi livelli di CO2 | |
Carolina del Sud | us-east1 |
||
Virginia del Nord | us-east4 |
||
Columbus, Ohio | us-east5 |
||
Dallas | us-south1 |
Bassi livelli di CO2 | |
Oregon | us-west1 |
Bassi livelli di CO2 | |
Los Angeles | us-west2 |
||
Salt Lake City | us-west3 |
La funzionalità della regola di traduzione è disponibile nelle seguenti località di elaborazione:
us
(multiregione Stati Uniti)eu
(più regioni dell'UE)us-central1
(Iowa)europe-west4
(Paesi Bassi)
Tradurre una query in GoogleSQL
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.
In 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 dati superino i confini di località, seleziona la regione
eu
.Fai clic su Salva.
Nel riquadro Editor, fai clic su Altro e poi seleziona Attiva traduzione SQL.
Il riquadro Editor si suddivide in due riquadri.
Nel riquadro di sinistra, inserisci la query che vuoi tradurre.
Fai clic su Traduci.
BigQuery traduce la query in GoogleSQL e la visualizza nel riquadro corretto. Ad esempio, lo screenshot seguente mostra il codice SQL di Teradata tradotto:
(Facoltativo) Per eseguire la query GoogleSQL tradotta, fai clic su Esegui.
(Facoltativo) Per tornare all'editor SQL, fai clic su Altro e poi seleziona Disabilita la traduzione SQL.
Il riquadro Editor torna a un singolo riquadro.
Configurare il traduttore SQL interattivo
Puoi configurare il traduttore SQL interattivo per modificare il modo in cui traduce il codice SQL di origine. Puoi farlo fornendo le tue regole da utilizzare con Gemini in un file di configurazione YAML o fornendo un file di configurazione YAML contenente metadati degli oggetti SQL o informazioni sulla mappatura degli oggetti.
Creare una regola di traduzione
Puoi personalizzare il modo in cui il traduttore SQL interattivo traduce SQL creando regole di traduzione. Il traduttore SQL interattivo aggiusta le traduzioni in base alle regole di traduzione SQL avanzate di Gemini che gli 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 di Gemini, esegui una delle seguenti operazioni:
Console
Per creare una regola di traduzione SQL avanzata di Gemini:
Dopo aver eseguito una traduzione interattiva, fai clic su Assistente e poi su Personalizza questa traduzione.
Utilizza uno o entrambi i seguenti prompt per creare una regola di traduzione:
Nella richiesta Trova e sostituisci un pattern, 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 qualsiasi di istruzioni, clausole o funzioni in uno script SQL. Quando crei una regola utilizzando questo prompt, la traduzione SQL avanzata di Gemini identifica eventuali istanze del pattern SQL nell'output della traduzione e lo sostituisce dinamicamente con un altro pattern SQL. Ad esempio, puoi utilizzare questo prompt per creare una regola che sostituisce tutte le occorrenze di
months_between (X,Y)
condate_diff(X,Y,MONTH)
.Nel campo Descrivi una modifica all'output, digita una modifica all'output della 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 all'output della traduzione in base alla tua regola.
(Facoltativo) Per aggiungere questa regola da usare nelle traduzioni future, seleziona la casella di controllo Aggiungi regola.
Le regole vengono salvate nel file YAML di configurazione predefinito o in
__default.ai_config.yaml
. Questo file YAML di configurazione viene salvato nella cartella Cloud Storage come specificato nel campo Posizione di origine configurazione della traduzione nelle impostazioni di traduzione. Un file YAML di configurazione è soggetto a limiti alle dimensioni del file di configurazione.Per applicare le modifiche suggerite all'output della traduzione, fai clic su Applica.
YAML
Per creare una regola di traduzione SQL avanzata di Gemini, puoi creare un file YAML di configurazione basato su Gemini e caricarlo su Cloud Storage. Per saperne di più, consulta Creare un file YAML di configurazione basato su Gemini e Applicare un file YAML di configurazione basato su Gemini alla traduzione successiva.
Applica un file YAML di configurazione basato su Gemini alla tua prossima traduzione
Per applicare un file YAML di configurazione per le uscite di AI:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor delle query, fai clic su Altro > Impostazioni di traduzione.
Nel campo Posizione di origine della configurazione della traduzione, specifica il percorso del file YAML basato su Gemini archiviato in una cartella Cloud Storage.
Fai clic su Salva. Dopo aver eseguito una traduzione interattiva, viene visualizzato un punto rosso sul pulsante Assistente per indicare che è disponibile un suggerimento di Gemini.
Fai clic su Assistente e poi su Visualizza suggerimenti per visualizzare le modifiche suggerite all'output della traduzione dal servizio di traduzione SQL migliorato da Gemini.
Nella finestra di dialogo Anteprima delle modifiche suggerite, esamina le modifiche apportate dalla traduzione SQL avanzata di Gemini all'output della traduzione in base alla tua regola.
Per applicare le modifiche suggerite all'output della traduzione, fai clic su Applica.
Spiega una traduzione
Dopo aver eseguito una traduzione interattiva, puoi richiedere una spiegazione del testo generata da Gemini. Il testo generato include un riepilogo della query SQL tradotta. Gemini identifica inoltre le differenze e le incoerenze di traduzione tra la query SQL di origine e la query GoogleSQL tradotta.
Per ottenere la spiegazione della traduzione SQL generata da Gemini:
Per creare una spiegazione della traduzione SQL generata da Gemini, fai clic su Assistente e poi su Spiega questa traduzione.
Tradurre con un ID configurazione di traduzione batch
Puoi eseguire una query interattiva con le stesse configurazioni di traduzione di un job di traduzione batch fornendo un ID configurazione di traduzione batch.
- Nell'editor delle query, fai clic su Altro > Impostazioni di traduzione.
Nel campo ID configurazione traduzione, fornisci un ID configurazione traduzione batch per applicare la stessa configurazione di traduzione di un job di migrazione batch BigQuery completato.
Per trovare l'ID di configurazione della traduzione batch di un job, seleziona un job di traduzione batch dalla pagina Traduzione SQL e poi fai clic sulla scheda Configurazione traduzione. L'ID configurazione traduzione batch è indicato come Nome risorsa.
Fai clic su Salva.
Tradurre con configurazioni aggiuntive
Puoi eseguire una query interattiva con configurazioni di traduzione aggiuntive specificando i file di configurazione YAML memorizzati in una cartella Cloud Storage. Le configurazioni di traduzione potrebbero includere metadati degli oggetti SQL o informazioni di mappatura degli oggetti dal database di origine che possono migliorare la qualità della traduzione. Ad esempio, includi informazioni o schemi DDL dal database di origine per migliorare la qualità della traduzione SQL interattiva.
Per specificare le configurazioni di traduzione specificando una posizione per i file di origine della configurazione di traduzione, procedi nel seguente modo:
- Nell'editor delle query, fai clic su Altro > Impostazioni di traduzione.
Nel campo Posizione di origine della configurazione della traduzione, specifica il percorso ai file di configurazione della traduzione archiviati in una cartella Cloud Storage.
Il traduttore SQL interattivo di BigQuery supporta i file di configurazione contenenti metadati di traduzione e la mappatura dei nomi degli oggetti. Per informazioni su come caricare file su Cloud Storage, consulta Caricare oggetti da un file system.
Fai clic su Salva.
Limiti di dimensione dei file di configurazione
Quando utilizzi un file di configurazione della traduzione con il traduttore SQL interattivo di BigQuery, il file dei metadati compressi 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 salta 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 dei metadati consiste nell'utilizzare i flag --database
o --schema
per estrarre solo i metadati per i database o gli schemi pertinenti per le query di input della traduzione. Per ulteriori informazioni sull'utilizzo di questi flag quando generi file di metadati, consulta Flag globali.
Risolvere gli errori di traduzione
Di seguito sono riportati gli errori più comuni che si verificano durante l'utilizzo del traduttore SQL interattivo.
RelationNotFound
o AttributeNotFound
Per garantire la traduzione più accurata,
puoi inserire le istruzioni DDL (Data Definition Language) per tutte le tabelle utilizzate
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;
, inserisci 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
L'utilizzo del traduttore SQL interattivo non prevede costi. Tuttavia, lo spazio di archiviazione utilizzato per archiviare i file di input e di output comporta le normali tariffe. Per ulteriori informazioni, consulta Prezzi dello spazio di 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 batch di SQL
- Pipeline di dati
- Sicurezza e governance dei dati
- Strumento di convalida dei dati