Esegui la migrazione del codice con il traduttore SQL batch
Questo documento descrive come utilizzare il traduttore SQL batch in BigQuery per tradurre script scritti in altri dialetti SQL in query GoogleSQL. Questo documento è destinato agli utenti che hanno familiarità con la consoleGoogle Cloud .
Per un elenco dei dialetti SQL supportati da questo traduttore SQL, consulta Dialetti SQL supportati.
Per un elenco delle località di elaborazione supportate, consulta Località.
Prima di iniziare
Prima di inviare un lavoro di traduzione, segui questi passaggi.
Abilitare le traduzioni SQL
Abilita l'API richiesta e ottieni le autorizzazioni necessarie per utilizzare un traduttore SQL BigQuery. Per ulteriori informazioni, vedere Abilita le traduzioni SQL.
Autorizzazioni obbligatorie
Per ottenere le autorizzazioni necessarie per creare job di traduzione con il traduttore interattivo, l'API Translation o il traduttore SQL batch, chiedi all'amministratore di concederti i seguenti ruoli IAM sulla risorsa parent:
-
Visualizzazione e monitoraggio dei job di migrazione:
Visualizzatore MigrationWorkflow (
roles/bigquerymigration.viewer) -
Invio di job di migrazione:
MigrationWorkflow Editor (
roles/bigquerymigration.editor) -
Accedi ai bucket Cloud Storage per l'input e i file:
Amministratore oggetti Storage (
roles/storage.objectAdmin) nel bucket Cloud Storage di origine e di destinazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare processi di traduzione con il traduttore interattivo, l'API di traduzione o il traduttore SQL batch. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare job di traduzione con il traduttore interattivo, l'API Translation o il traduttore SQL batch, sono necessarie le seguenti autorizzazioni:
-
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
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Raccogliere i file di origine
I file di origine devono essere file di testo contenenti SQL valido per il dialetto di origine. I file di origine possono includere anche commenti. Fai del tuo meglio per assicurarti che la query SQL sia valida, utilizzando tutti i metodi a tua disposizione.
Creare file di metadati
Per aiutare il servizio a generare risultati di traduzione più accurati, consigliamo di fornire file di metadati. Tuttavia, non è obbligatorio.
Puoi utilizzare lo strumento di estrazione da riga di comando dwh-migration-dumper per generare le informazioni sui metadati oppure puoi fornire i tuoi file di metadati. Una volta preparati i file di metadati, puoi includerli insieme ai file di origine nella cartella di origine della traduzione. Il traduttore li rileva automaticamente e li utilizza per tradurre i file di origine. Non è necessario configurare impostazioni aggiuntive per abilitare questa funzionalità.
Per generare informazioni sui metadati utilizzando lo
strumento dwh-migration-dumper, consulta
Generare metadati per la traduzione.
Per fornire i tuoi metadati, raccogli le istruzioni del linguaggio di definizione dei dati (DDL) per gli oggetti SQL nel sistema di origine in file di testo separati.
Decidi come inviare il lavoro di traduzione
Hai tre opzioni per inviare un job di traduzione batch:
Client di traduzione batch: configura un job modificando le impostazioni in un file di configurazione e invia il job utilizzando la riga di comando. Questo approccio non richiede il caricamento manuale dei file di origine su Cloud Storage. Il cliente continua a utilizzare Cloud Storage per archiviare i file durante l'elaborazione dei lavori di traduzione.
Il client di traduzione batch legacy è un client Python open source che ti consente di tradurre i file di origine che si trovano sulla tua macchina locale e di inviare i file tradotti a una directory locale. Configura il client per l'utilizzo di base modificando alcune impostazioni nel relativo file di configurazione. Se vuoi, puoi anche configurare il client per gestire attività più complesse come la sostituzione delle macro e l'elaborazione pre e post degli input e degli output di traduzione. Per saperne di più, consulta il readme del client di traduzione batch.
Google Cloud Console: configura e invia un job utilizzando un'interfaccia utente. Questo approccio richiede il caricamento dei file di origine su Cloud Storage.
Crea file YAML di configurazione
Se vuoi, puoi creare e utilizzare file YAML di configurazione per personalizzare le traduzioni batch. Questi file possono essere utilizzati per trasformare l'output della traduzione in vari modi. Ad esempio, puoi creare un file YAML di configurazione per modificare le maiuscole e minuscole di un oggetto SQL durante la traduzione.
Se vuoi utilizzare la console Google Cloud o l'API BigQuery Migration per un job di traduzione batch, puoi caricare il file YAML di configurazione nel bucket Cloud Storage contenente i file di origine.
Se si desidera utilizzare il client di traduzione in batch, è possibile posizionare il file YAML di configurazione nella cartella di input locale per la traduzione.
Carica i file di input su Cloud Storage
Se desideri utilizzare la console Google Cloud o l'API di migrazione di BigQuery per eseguire un'operazione di traduzione, devi caricare i file sorgente contenenti le query e gli script che desideri tradurre in Cloud Storage. Puoi anche caricare qualsiasi file di metadati o file YAML di configurazione nello stesso bucket Cloud Storage e nella stessa directory contenenti i file di origine. Per ulteriori informazioni sulla creazione di bucket e sul caricamento di file in Cloud Storage, consultare Creare bucket e Caricare oggetti da un file system.
Gestione delle funzioni SQL non supportate con le funzioni definite dall'utente di assistenza
Quando traduci SQL da un dialetto di origine a BigQuery, alcune funzioni potrebbero non avere un equivalente diretto. Per risolvere questo problema, BigQuery Migration Service (e la community BigQuery più ampia) forniscono funzioni definite dall'utente (UDF) di assistenza che replicano il comportamento di queste funzioni del dialetto di origine non supportate.
Queste UDF si trovano spesso nel set di dati pubblico bqutil, consentendo alle query tradotte di farvi riferimento inizialmente utilizzando il formato bqutil.<dataset>.<function>(). Ad esempio: bqutil.fn.cw_count().
Considerazioni importanti per gli ambienti di produzione:
Sebbene bqutil offra un comodo accesso a queste UDF di supporto per la traduzione e il test iniziali, non è consigliabile affidarsi direttamente a bqutil per i carichi di lavoro di produzione per diversi motivi:
- Controllo della versione: il progetto
bqutilospita l'ultima versione di queste UDF, il che significa che le loro definizioni possono cambiare nel tempo. L'utilizzo diretto dibqutilpotrebbe comportare un comportamento imprevisto o modifiche che causano errori nelle tue query di produzione se la logica di una UDF viene aggiornata. - Isolamento delle dipendenze: il deployment delle UDF nel tuo progetto isola l'ambiente di produzione dalle modifiche esterne.
- Personalizzazione: Potrebbe essere necessario modificare o ottimizzare queste UDF per adattarle meglio alla logica di business specifica o ai requisiti di prestazioni. Ciò è possibile solo se si trovano all'interno del tuo progetto.
- Sicurezza e governance: le norme di sicurezza della tua organizzazione potrebbero limitare
l'accesso diretto a set di dati pubblici come
bqutilper l'elaborazione dei dati di produzione. La copia delle UDF nel proprio ambiente controllato è in linea con tali politiche.
Distribuzione delle UDF di supporto nel progetto:
Per un utilizzo affidabile e stabile in produzione, devi eseguire il deployment di queste UDF helper nel tuo progetto e nel tuo set di dati. In questo modo avrai il pieno controllo della versione, della personalizzazione e dell'accesso. Per istruzioni dettagliate su come distribuire queste UDF, fare riferimento alla guida alla distribuzione delle UDF su GitHub. Questa guida fornisce gli script e i passaggi necessari per copiare le UDF nel tuo ambiente.
Inviare un job di traduzione
Segui questi passaggi per avviare un job di traduzione, visualizzarne l'avanzamento e vedere i risultati.
Console
Questi passaggi presuppongono che tu abbia già caricato i file di origine in un bucket Cloud Storage.
Nella console Google Cloud , vai alla pagina SQL Translation.
Nel pannello Traduzione SQL, fare clic su Avvia traduzione.
In Configurazione della traduzione, inserisci quanto segue:
- Per Visualizza nome, digita un nome per il lavoro di traduzione. Il nome può contenere lettere, numeri o trattini bassi.
- Per 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. Il job di traduzione ha un rendimento migliore quando scegli la stessa posizione del bucket del file di origine. - Per Dialetto di origine, seleziona il dialetto SQL che vuoi tradurre.
- Per dialetto di destinazione, seleziona GoogleSQL.
Fai clic su Avanti.
Per Dettagli posizione file, specifica i percorsi Cloud Storage da utilizzare per l'input e l'output della traduzione. Puoi digitare i percorsi nel formato
bucket_name/folder_name/o utilizzare l'opzione Sfoglia per passare a una cartella.- Per Percorso della directory di output, specificare il percorso della cartella di destinazione di Cloud Storage per i file tradotti. Questa directory funge da directory radice per tutti gli output di traduzione.
- Scegli una o più Percorsi della directory di input contenenti il percorso dei file SQL da tradurre.
- Se necessario, a ogni directory di input può essere assegnato un nome della sottodirectory di output sotto la directory di output principale.
Fai clic su Avanti.
Seleziona le impostazioni facoltative che ti servono per personalizzare i metadati e gli output di traduzione aggiuntivi.
Puoi personalizzare ulteriormente il comportamento della traduzione creando file YAML di configurazione e inserendoli nel bucket Cloud Storage di input. Questi file possono essere utilizzati per impostare la ridenominazione degli oggetti, attivare le ottimizzazioni, migliorare le traduzioni con Gemini e altro ancora. Per ulteriori informazioni sui file YAML di configurazione, vedere Creare un file YAML di configurazione.
Fai clic su Crea per avviare il job di traduzione.
Una volta creato il lavoro di traduzione, è possibile visualizzarne lo stato nell'elenco dei lavori di traduzione.
Client di traduzione batch
Nella directory di installazione del client di traduzione batch, utilizza l'editor di testo che preferisci per aprire il file
config.yamle modificare le seguenti impostazioni:project_number: digita il numero del progetto che vuoi utilizzare per il job di traduzione batch. Puoi trovare queste informazioni nel riquadro Informazioni sul progetto nella pagina di benvenuto della console Google Cloud pagina di benvenuto della console del progetto.gcs_bucket: digita il nome del bucket Cloud Storage che il client di traduzione batch utilizza per archiviare i file durante l'elaborazione del job di traduzione.input_directory: digita il percorso assoluto o relativo della directory contenente i file di origine e tutti i file di metadati.output_directory: Digitare il percorso assoluto o relativo alla directory di destinazione per i file tradotti.
Salva le modifiche e chiudi il file
config.yaml.Inserisci i file di origine e dei metadati nella directory di input.
Avvia il client di traduzione batch utilizzando il seguente comando:
bin/dwh-migration-clientCrea un job di traduzione.
L'esempio seguente mostra un comando per creare un job di traduzione. Il comando eseguirà il flusso di lavoro e mostrerà l'output se il flusso di lavoro ha esito positivo.
gcloud bq migration-workflows create --location=us --config-file=CONFIG_FILE_NAME.json
L'esempio seguente mostra un comando per creare ed eseguire il flusso di lavoro con il flag
--async. Il comando creerà ed eseguirà il flusso di lavoro e restituirà immediatamente un collegamento al flusso di lavoro.gcloud bq migration-workflows create --location=LOCATION --config-file=CONFIG_FILE_NAME.json --async
L'esempio seguente mostra un comando per elencare i lavori di traduzione:
gcloud bq migration-workflows list --location=LOCATION
Sostituisci quanto segue:
LOCATION: la posizione del progetto Google Cloud che esegue questo job di traduzione.CONFIG_FILE_NAME: il nome del fileconfig.yaml. Una volta creato il lavoro di traduzione, è possibile visualizzarne lo stato nell'elenco dei lavori di traduzione nella console Google Cloud .
Facoltativo. Una volta completata la traduzione, elimina i file creati dal processo nel bucket Cloud Storage specificato, al fine di evitare costi di archiviazione.
CLI BigQuery
Puoi eseguire lo strumento di traduzione SQL batch utilizzando lo strumento a riga di comando bq con i seguenti passaggi:
Crea un file di configurazione della traduzione in formato YAML o JSON. In questo file è necessario definire il percorso del file sorgente, la destinazione di output e i dialetti di origine e di destinazione della traduzione.
L'esempio seguente mostra un file YAML di configurazione della traduzione per una traduzione da Teradata a 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
L'esempio seguente mostra un file JSON di configurazione della traduzione per una traduzione da Teradata a 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" ] } } } }
Una volta creata la configurazione di traduzione, eseguire il seguente comando per avviare il processo di traduzione.
bq mk --migration_workflow --location=LOCATION --config_file=CONFIG_FILE_NAME.json
Sostituisci quanto segue:
LOCATION: la posizione del progetto Google Cloud che esegue questo job di traduzione.CONFIG_FILE_NAME: il nome del fileconfig.yaml.
Per visualizzare i dettagli di un job di traduzione specifico, esegui questo comando:
bq show --migration_workflow projects/PROJECT_ID/ locations/us/workflows/WORKFLOW_ID
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto Google Cloud che esegue questo job di traduzione.WORKFLOW_ID: l'ID del job di traduzione.
Per visualizzare i risultati di uno specifico job di traduzione, esegui questo comando:
gcloud bq migration-workflows describe projects/PROJECT_ID /locations/us/workflows/WORKFLOW_ID
Per rimuovere un job di traduzione dall'elenco, esegui questo comando:
bq rm --migration_workflow projects/PROJECT_ID/locations/us/workflows/WORKFLOW_ID
Per elencare tutti i tuoi job di traduzione, esegui questo comando:
bq ls --migration_workflow --location=LOCATION
Esplora l'output della traduzione
Dopo aver eseguito il job di traduzione, puoi visualizzare le informazioni sul job nella console Google Cloud . Se hai utilizzato la console Google Cloud per eseguire il job, puoi visualizzare i risultati del job nel bucket Cloud Storage di destinazione che hai specificato. Se hai utilizzato il client di traduzione batch per eseguire il job, puoi visualizzare i risultati del job nella directory di output che hai specificato. Il traduttore SQL batch genera i seguenti file nella destinazione specificata:
- I file tradotti.
- Il report di riepilogo della traduzione in formato CSV.
- Il mapping dei nomi degli output utilizzati in formato JSON.
- I file dei suggerimenti dell'AI.
Output della consoleGoogle Cloud
Per visualizzare i dettagli dell'offerta di traduzione, segui questi passaggi:
Nella console Google Cloud , vai alla pagina SQL Translation.
Nell'elenco dei job di traduzione, individua quello di cui vuoi visualizzare i dettagli. Poi, fai clic sul nome del progetto di traduzione. Puoi visualizzare una visualizzazione Sankey che illustra la qualità complessiva del job, il numero di righe di codice di input (escluse le righe vuote e i commenti) e un elenco dei problemi che si sono verificati durante il processo di traduzione. Devi dare la priorità alle correzioni da sinistra a destra. I problemi in una fase iniziale possono causare problemi aggiuntivi nelle fasi successive.
Tieni il puntatore sopra le barre di errore o avviso e rivedi i suggerimenti per determinare i passaggi successivi per eseguire il debug del job di traduzione.
Seleziona la scheda Riepilogo log per visualizzare un riepilogo dei problemi di traduzione, incluse le categorie di problemi, le azioni suggerite e la frequenza con cui si è verificato ciascun problema. Puoi fare clic sulle barre della visualizzazione Sankey per filtrare i problemi. Puoi anche selezionare una categoria di problemi per visualizzare i messaggi di log associati a quella categoria.
Seleziona la scheda Messaggi di log per visualizzare ulteriori dettagli su ogni problema di traduzione, inclusi la categoria del problema, il messaggio specifico del problema e un link al file in cui si è verificato il problema. È possibile fare clic sulle barre di visualizzazione di Sankey per filtrare i problemi. È possibile selezionare un problema nella scheda Messaggio di registro per aprire la scheda Codice che visualizza il file di input e di output, se applicabile.
Fai clic sulla scheda Dettagli job per visualizzare i dettagli di configurazione del job di traduzione.
Rapporto riepilogativo
Il report di riepilogo è un file CSV che contiene una tabella di tutti i messaggi di avviso ed errore riscontrati durante il lavoro di traduzione.
Per visualizzare il file di riepilogo nella console Google Cloud :
Nella console Google Cloud , vai alla pagina SQL Translation.
Nell'elenco dei progetti di traduzione, individua quello che ti interessa, poi fai clic sul nome del progetto o su Altre opzioni > Mostra dettagli.
Nella scheda Dettagli job, nella sezione Report di traduzione, fai clic su translation_report.csv.
Nella pagina Dettagli oggetto, fai clic sul valore nella riga URL autenticato per visualizzare il file nel tuo browser.
La tabella seguente descrive le colonne del file di riepilogo:
| Colonna | Descrizione |
|---|---|
| Timestamp | Il timestamp in cui si è verificato il problema. |
| FilePath | Il percorso del file sorgente a cui è associato il problema. |
| FileName | Il nome del file sorgente a cui è associato il problema. |
| ScriptLine | Il numero di riga in cui si è verificato il problema. |
| ScriptColumn | Il numero di colonna in cui si è verificato il problema. |
| TranspilerComponent | Il componente interno del motore di traduzione in cui si è verificato l'avviso o l'errore. Questa colonna potrebbe essere vuota. |
| Ambiente | L'ambiente dialetto di traduzione associato all' avviso o all'errore. Questa colonna potrebbe essere vuota. |
| ObjectName | L'oggetto SQL presente nel file sorgente associato all'avviso o all'errore. Questa colonna potrebbe essere vuota. |
| Gravità | La gravità del problema, che può essere un avviso o un errore. |
| Categoria | La categoria del problema di traduzione. |
| SourceType | L'origine del problema. Il valore in questa colonna può essere
SQL, che indica un problema nei file SQL di input, oppure
METADATA, che indica un problema nel pacchetto di metadati. |
| Messaggio | Il messaggio di avviso o di errore relativo al problema di traduzione. |
| ScriptContext | Lo snippet SQL nel file di origine associato al problema. |
| Azione | L'azione che ti consigliamo di intraprendere per risolvere il problema. |
scheda Codice
La scheda Codice ti consente di esaminare ulteriori informazioni sui file di input e output per un determinato job di traduzione. Nella scheda del codice puoi esaminare i file utilizzati in un lavoro di traduzione, rivedere un confronto fianco a fianco di un file di input e della relativa traduzione per eventuali imprecisioni e visualizzare i riepiloghi e i messaggi dei log per un file specifico in un lavoro.
Per accedere alla scheda Codice:
Nella console Google Cloud , vai alla pagina SQL Translation.
Nell'elenco dei progetti di traduzione, individua quello che ti interessa, poi fai clic sul nome del progetto o su Altre opzioni > Mostra dettagli.
Seleziona Codice tab. La scheda Codice è costituita dai seguenti riquadri:
- Esplora file: contiene tutti i file SQL utilizzati per la traduzione. Fai clic su un file per visualizzare l'input e l'output della traduzione, nonché eventuali problemi di traduzione.
- Input migliorato da Gemini: L'SQL di input che è stato tradotto dal motore di traduzione. Se hai specificato regole di personalizzazione di Gemini per l'SQL di origine nella configurazione di Gemini, il traduttore trasforma prima l'input originale e poi traduce l'input ottimizzato con Gemini. Per visualizzare l'input originale, fai clic su Visualizza input originale.
- Output della traduzione: il risultato della traduzione. Se hai specificato regole di personalizzazione di Gemini per l'SQL di destinazione nella configurazione di Gemini, la trasformazione viene applicata al risultato tradotto come output ottimizzato con Gemini. Se è disponibile un output migliorato con Gemini, puoi fare clic sul pulsante Suggerimento di Gemini per esaminare l'output migliorato con Gemini.
(Facoltativo) Per visualizzare un file di input e il relativo file di output nel traduttore SQL interattivo di BigQuery, fai clic su Modifica. Puoi modificare i file e salvare il file di output di nuovo in Cloud Storage.
Scheda Configurazione
Puoi aggiungere, rinominare, visualizzare o modificare i file YAML di configurazione nella scheda Configurazione.Esplora schema mostra la documentazione per i tipi di configurazione supportati per aiutarti a scrivere i file YAML di configurazione. Dopo aver modificato i file YAML di configurazione, puoi eseguire di nuovo il job per utilizzare la nuova configurazione.
Per accedere alla scheda di configurazione:
Nella console Google Cloud , vai alla pagina SQL Translation.
Nell'elenco dei progetti di traduzione, individua quello che ti interessa, poi fai clic sul nome del progetto o su Altre opzioni > Mostra dettagli.
Nella finestra Dettagli traduzione, fai clic sulla scheda Configurazione.
Per aggiungere un nuovo file di configurazione:
- Clicmore_vert Altre opzioni > Creare il file YAML di configurazione.
- Viene visualizzato un riquadro in cui puoi scegliere il tipo, la posizione e il nome del nuovo file YAML di configurazione.
- Fai clic su Crea.
Per modificare un file di configurazione esistente:
- Fai clic sul file YAML di configurazione.
- Modifica il file, quindi fai clic su Salva.
- Fai clic su Riesegui per eseguire un nuovo lavoro di traduzione che utilizza i file YAML di configurazione modificati.
Puoi rinominare un file di configurazione esistente facendo clic su more_vert Altre opzioni > Rinomina.
File di mapping dei nomi di output utilizzato
Questo file JSON contiene le regole di mappatura dei nomi di output utilizzate dal job di traduzione. Le regole in questo file potrebbero differire da quelle di mapping dei nomi di output specificate per il job di traduzione, a causa di conflitti nelle regole di mapping dei nomi o della mancanza di regole di mapping dei nomi per gli oggetti SQL identificati durante la traduzione. Esamina questo file per determinare se le regole di mappatura dei nomi devono essere corrette. In questo caso, crea nuove regole di mappatura dei nomi di output che risolvano eventuali problemi identificati ed esegui un nuovo job di traduzione.
File tradotti
Per ogni file sorgente, viene generato un file di output corrispondente nel percorso di destinazione. Il file di output contiene la query tradotta.
Esegui il debug delle query SQL tradotte in batch con il traduttore SQL interattivo.
Puoi utilizzare il traduttore SQL interattivo di BigQuery per esaminare o eseguire il debug di una query SQL utilizzando le stesse informazioni di mapping di metadati o oggetti del database di origine. Dopo aver completato un job di traduzione batch, BigQuery genera un ID configurazione di traduzione che contiene informazioni sui metadati del job, sul mapping degli oggetti o sul percorso di ricerca dello schema, a seconda dei casi per la query. Si utilizza l'ID di configurazione della traduzione batch con il traduttore SQL interattivo per eseguire query SQL con la configurazione specificata.
Per avviare una traduzione SQL interattiva utilizzando un ID di configurazione per la traduzione batch, seguire questi passaggi:
Nella console Google Cloud , vai alla pagina SQL Translation.
Nell'elenco dei lavori di traduzione, individua quello che ti interessa, quindi fai clic su Altre opzioni > Apri traduzione interattiva.
Il traduttore SQL interattivo di BigQuery ora si apre con l'ID configurazione di traduzione batch corrispondente. Per visualizzare l'ID configurazione della traduzione per la traduzione interattiva, fai clic su Strumenti > Traduzione query > Impostazioni di traduzione nel traduttore SQL interattivo.
Per eseguire il debug di un file di traduzione batch nel traduttore SQL interattivo:
Nella console Google Cloud , vai alla pagina SQL Translation.
Nell'elenco dei job di traduzione, individua quello che ti interessa, quindi fai clic sul nome del job o su Altre opzioni > Mostra dettagli.
Nella finestra Dettagli traduzione, fai clic sulla scheda Codice.
Nell'esplora file, fai clic sul nome del file per aprirlo.
Accanto al nome del file di output, fai clic su Modifica per aprire i file nel traduttore SQL interattivo (Anteprima).
Nel traduttore SQL interattivo vengono visualizzati i file di input e output, che ora utilizzano l'ID di configurazione della traduzione batch corrispondente.
Per salvare il file di output modificato in Cloud Storage, nel traduttore SQL interattivo fai clicSalva> Salva su GCS.
Limitazioni
Il traduttore non può tradurre le funzioni definite dall'utente (UDF) da lingue diverse da SQL perché non può analizzarle per determinare i tipi di dati di input e output. Ciò causa una traduzione imprecisa delle istruzioni SQL che fanno riferimento a queste UDF. Per garantire che le UDF non SQL vengano referenziate correttamente durante la traduzione, utilizzare SQL valido per creare UDF segnaposto con le stesse firme.
Ad esempio, supponiamo di avere una UDF scritta in C che calcola la somma di due numeri interi. Per assicurarti che le istruzioni SQL che fanno riferimento a questa UDF vengano tradotte correttamente, crea una UDF SQL segnaposto che condivida la stessa firma della UDF C, come mostrato nell'esempio seguente:
CREATE FUNCTION Test.MySum (a INT, b INT)
RETURNS INT
LANGUAGE SQL
RETURN a + b;
Salva questa UDF segnaposto in un file di testo e includi questo file tra i file di origine del job di traduzione. In questo modo, il traduttore può apprendere la definizione della UDF e identificare i tipi di dati di input e output previsti.
Quota e limiti
- Si applicano le quote dell'API BigQuery Migration.
- Ogni progetto può avere al massimo 10 attività di traduzione attive.
- Sebbene non esista un limite rigido al numero totale di file di origine e metadati, ti consigliamo di mantenere il numero di file inferiore a 1000 per un rendimento migliore.
Risoluzione dei problemi di traduzione
RelationNotFound o AttributeNotFound problemi di traduzione
Dopo aver tradotto una query utilizzando il traduttore SQL batch, potresti riscontrare una traduzione non riuscita con l'errore RelationNotFound o AttributeNotFound.
È possibile trovare le traduzioni non riuscite accedendo alla pagina Dettagli della traduzione e aprendo la scheda Messaggi di registro.
La traduzione funziona meglio con i DDL dei metadati. Quando le definizioni degli oggetti SQL non vengono trovate, il motore di traduzione genera problemi RelationNotFound o AttributeNotFound. Si consiglia di utilizzare l'estrattore di metadati per generare pacchetti di metadati e assicurarsi che tutte le definizioni degli oggetti siano presenti. L'aggiunta di metadati è il
primo passaggio consigliato per risolvere la maggior parte degli errori di traduzione, in quanto spesso può correggere
molti altri errori causati indirettamente dalla mancanza di metadati.
Per saperne di più, consulta Generare metadati per la traduzione e la valutazione.
Risolvere i problemi di traduzione con Gemini
Per correggere i processi di traduzione non riusciti con gli errori RelationNotFound o AttributeNotFound, puoi anche utilizzare Gemini per provare a risolvere questi problemi seguendo i passaggi seguenti.
Vai alla pagina Dettagli della traduzione e apri la scheda Messaggi di registro.
Fai clic sulla query che contiene il messaggio
RelationNotFoundoAttributeNotFoundnella colonna Categoria.Fai clic sul messaggio di errore per accedere al file e alla riga contenente l'errore nella scheda del codice.
Nella colonna Azione, fai clic su Soluzione suggerita.
Seleziona una delle seguenti opzioni: Applica oppure Applica e riesegui:
- Fai clic su Applica per copiare il file di schema generato dalla directory di output alla directory di input.
- Fai clic su Applica ed esegui di nuovo per copiare il file dello schema generato dalla directory di output alla directory di input e aprire una finestra di riesecuzione.
Prezzi
Non è previsto alcun costo per l'utilizzo del traduttore SQL batch. Tuttavia, lo spazio di archiviazione utilizzato per archiviare i file di input e di output comporta le normali tariffe. Per maggiori informazioni, consulta la pagina Prezzi dello spazio di archiviazione.
Passaggi successivi
Scopri di più sui seguenti passaggi della migrazione del data warehouse: