Esegui la migrazione di schema e dati da Teradata
La combinazione di BigQuery Data Transfer Service e di un agente speciale per la migrazione consente di copiare i dati da un'istanza di data warehouse on-premise di Teradata a BigQuery. Questo documento descrive la procedura passo passo per la migrazione dei dati da Teradata utilizzando BigQuery Data Transfer Service.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API BigQuery, BigQuery Data Transfer Service, Cloud Storage, and Pub/Sub.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: roles/bigquery.user, roles/storage.objectAdmin, roles/iam.serviceAccountTokenCreator.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API BigQuery, BigQuery Data Transfer Service, Cloud Storage, and Pub/Sub.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: roles/bigquery.user, roles/storage.objectAdmin, roles/iam.serviceAccountTokenCreator.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
Imposta le autorizzazioni richieste
Assicurati che l'entità che crea il trasferimento abbia i seguenti ruoli nel progetto contenente il job di trasferimento:
- Visualizzatore log (
roles/logging.viewer
) - Amministratore Storage (
roles/storage.admin
) o un ruolo personalizzato che concede le autorizzazioni seguenti:storage.objects.create
storage.objects.get
storage.objects.list
- Amministratore BigQuery (
roles/bigquery.admin
) o un ruolo personalizzato che concede le seguenti autorizzazioni:bigquery.datasets.create
bigquery.jobs.create
bigquery.jobs.get
bigquery.jobs.listAll
bigquery.transfers.get
bigquery.transfers.update
crea un set di dati
Crea un set di dati BigQuery per archiviare i tuoi dati. Non è necessario creare tabelle.
crea un bucket Cloud Storage
Crea un bucket Cloud Storage per la gestione temporanea dei dati durante il job di trasferimento.
prepara l'ambiente locale
Completa le attività in questa sezione per preparare il tuo ambiente locale per il job di trasferimento.
Requisiti locali delle macchine
- L'agente di migrazione utilizza una connessione JDBC con l'istanza Teradata e le API Google Cloud. Assicurati che l'accesso alla rete non sia bloccato da un firewall.
- Assicurati che sia installato Java Runtime Environment 8 o versione successiva.
- Assicurati di avere spazio di archiviazione sufficiente per il metodo di estrazione scelto, come descritto in Metodo di estrazione.
- Se hai deciso di utilizzare l'estrazione di Teradata Parallel Transporter (TPT), assicurati che l'utilità
tbuild
sia installata. Per ulteriori informazioni sulla scelta di un metodo di estrazione, consulta Metodo di estrazione.
Dettagli connessione Teradata
Assicurati di avere il nome utente e la password di un utente Teradata con accesso in lettura alle tabelle di sistema e alle tabelle di cui viene eseguita la migrazione.
Assicurati di conoscere il nome host e il numero di porta per connetterti all'istanza Teradata.
Scarica il driver JDBC
Scarica il file del driver JDBC di terajdbc4.jar
da Teradata su una macchina in grado di connettersi al data warehouse.
Imposta la variabile GOOGLE_APPLICATION_CREDENTIALS
Imposta la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS
sulla chiave dell'account di servizio che hai scaricato nella sezione Prima di iniziare.
Aggiorna la regola in uscita dei Controlli di servizio VPC
Aggiungi un progetto Google Cloud gestito da BigQuery Data Transfer Service (numero progetto: 990232121269) alla regola in uscita nel perimetro Controlli di servizio VPC.
Il canale di comunicazione tra l'agente in esecuzione on-premise e BigQuery Data Transfer Service consiste nella pubblicazione di messaggi Pub/Sub in un argomento di trasferimento. BigQuery Data Transfer Service deve inviare comandi all'agente per estrarre i dati e l'agente deve pubblicare i messaggi in BigQuery Data Transfer Service per aggiornare lo stato e restituire le risposte di estrazione dei dati.
Crea un file di schema personalizzato
Per utilizzare un file di schema personalizzato anziché il rilevamento automatico dello schema, creane uno manualmente o fai in modo che l'agente di migrazione ne crei uno al posto tuo quando inizializzi l'agente.
Se crei un file di schema manualmente e intendi utilizzare la console Google Cloud per creare un trasferimento, carica il file di schema in un bucket Cloud Storage nello stesso progetto che prevedi di utilizzare per il trasferimento.
Scarica l'agente di migrazione
Scarica l'agente di migrazione su una macchina in grado di connettersi al data warehouse. Sposta il file JAR dell'agente di migrazione nella stessa directory del file JAR del driver JDBC di Teradata.
Configurare un trasferimento
Creare un trasferimento con BigQuery Data Transfer Service.
Se vuoi che un file di schema personalizzato venga creato automaticamente, utilizza l'agente di migrazione per configurare il trasferimento.
Non puoi creare un trasferimento on demand utilizzando lo strumento a riga di comando bq; devi utilizzare la console Google Cloud o l'API BigQuery Data Transfer Service.
Se crei un trasferimento ricorrente, ti consigliamo vivamente di specificare un file di schema in modo che i dati dei trasferimenti successivi possano essere partizionati correttamente quando vengono caricati in BigQuery. Senza un file di schema, BigQuery Data Transfer Service deduce lo schema della tabella dai dati di origine trasferiti e tutte le informazioni su partizionamento, clustering, chiavi primarie e monitoraggio delle modifiche vanno perse. Inoltre, i trasferimenti successivi saltano le tabelle di cui è stata eseguita la migrazione in precedenza dopo il trasferimento iniziale. Per scoprire di più su come creare un file di schema, consulta File di schema personalizzato.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Fai clic su Trasferimenti di dati.
Fai clic su Crea trasferimento.
Nella sezione Tipo di origine, segui questi passaggi:
- Scegli Migrazione: Teradata.
- In Nome configurazione trasferimento, inserisci un nome visualizzato per il trasferimento, ad esempio
My Migration
. Il nome visualizzato può essere qualsiasi valore che ti consenta di identificare facilmente il trasferimento qualora dovessi modificarlo in un secondo momento. - (Facoltativo) Per le Opzioni di pianificazione, puoi lasciare il valore predefinito Giornaliero (in base all'ora di creazione) o scegliere un altro orario se vuoi un trasferimento ricorrente e incrementale. In caso contrario, scegli On demand per un trasferimento una tantum.
Per Impostazioni destinazione, scegli il set di dati appropriato.
Nella sezione Dettagli origine dati, continua con i dettagli specifici del trasferimento di Teradata.
- In Tipo di database, scegli Teradata.
- In Bucket Cloud Storage, cerca il nome del bucket Cloud Storage
per la gestione temporanea dei dati di migrazione. Non digitare il prefisso
gs://
: inserisci solo il nome del bucket. - In Nome database, inserisci il nome del database di origine in Teradata.
In Pattern nomi tabella, inserisci un pattern per creare corrispondenze con i nomi delle tabelle nel database di origine. Puoi usare espressioni regolari per specificare il pattern. Ad esempio:
sales|expenses
corrisponde alle tabelle denominatesales
eexpenses
..*
corrisponde a tutte le tabelle.
In Email account di servizio, inserisci l'indirizzo email associato alle credenziali dell'account di servizio utilizzate da un agente di migrazione.
(Facoltativo) Se utilizzi un file di schema personalizzato, inserisci il percorso e il nome del file nel campo Percorso file di schema. Se non fornisci un file di schema personalizzato, BigQuery rileva automaticamente lo schema della tabella utilizzando i dati di origine trasferiti. Puoi creare il tuo file di schema, come mostrato nell'immagine di seguito, oppure puoi utilizzare l'agente di migrazione per creare un file di schema. Per informazioni sulla creazione di un file di schema, consulta Inizializzazione dell'agente di migrazione.
Nel menu Account di servizio, seleziona un account di servizio dagli account di servizio associati al tuo progetto Google Cloud. Puoi associare un account di servizio al trasferimento anziché utilizzare le tue credenziali utente. Per ulteriori informazioni sull'utilizzo di account di servizio con trasferimenti di dati, vedi Utilizzare account di servizio.
- Se hai eseguito l'accesso con un'identità federata, sarà necessario un account di servizio per creare un trasferimento. Se hai eseguito l'accesso con un Account Google, un account di servizio per il trasferimento è facoltativo.
- L'account di servizio deve disporre delle autorizzazioni richieste.
(Facoltativo) Nella sezione Opzioni di notifica, procedi nel seguente modo:
- Fai clic sull'opzione di attivazione/disattivazione Notifiche email se desideri che l'amministratore del trasferimento riceva una notifica via email quando un trasferimento non va a buon fine.
- Fai clic sul pulsante di attivazione/disattivazione delle notifiche Pub/Sub per configurare le notifiche di esecuzione di Pub/Sub per il trasferimento. In Seleziona un argomento Pub/Sub, scegli il nome dell'argomento o fai clic su Crea un argomento.
Fai clic su Salva.
Nella pagina Dettagli trasferimento, fai clic sulla scheda Configurazione.
Prendi nota del nome della risorsa per questo trasferimento perché è necessario per eseguire l'agente di migrazione.
bq
Quando crei un trasferimento in Cloud Storage utilizzando lo strumento bq, la configurazione del trasferimento è impostata per essere ripetuta ogni 24 ore. Per i trasferimenti on demand, utilizza la console Google Cloud o l'API BigQuery Data Transfer Service.
Non puoi configurare le notifiche utilizzando lo strumento bq.
Inserisci il comando bq mk
e fornisci il flag di creazione del trasferimento --transfer_config
. Sono necessari anche i seguenti flag:
--data_source
--display_name
--target_dataset
--params
bq mk \ --transfer_config \ --project_id=project ID \ --target_dataset=dataset \ --display_name=name \ --service_account_name=service_account \ --params='parameters' \ --data_source=data source
Dove:
- project ID è l'ID progetto. Se
--project_id
non è fornito per specificare un particolare progetto, viene utilizzato il progetto predefinito. - dataset è il set di dati che vuoi scegliere come target (
--target_dataset
) per la configurazione del trasferimento. - name è il nome visualizzato (
--display_name
) per la configurazione di trasferimento. Il nome visualizzato del trasferimento può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento. - service_account è il nome dell'account di servizio utilizzato
per autenticare il trasferimento. L'account di servizio deve essere di proprietà dello stesso
project_id
utilizzato per creare il trasferimento e deve avere tutte le autorizzazioni richieste elencate. - parameters contiene i parametri (
--params
) per la configurazione di trasferimento creata in formato JSON. Ad esempio:--params='{"param":"param_value"}'
.- Per le migrazioni di Teradata, utilizza i seguenti parametri:
bucket
è il bucket Cloud Storage che agirà come area temporanea durante la migrazione.database_type
è Teradata.agent_service_account
è l'indirizzo email associato all'account di servizio che hai creato.database_name
è il nome del database di origine in Teradata.table_name_patterns
rappresenta uno o più pattern per la corrispondenza dei nomi delle tabelle nel database di origine. Puoi usare espressioni regolari per specificare il pattern. Il pattern deve seguire la sintassi delle espressioni regolari Java. Ad esempio:sales|expenses
corrisponde alle tabelle denominatesales
eexpenses
..*
corrisponde a tutte le tabelle.
- Per le migrazioni di Teradata, utilizza i seguenti parametri:
- data_source è l'origine dati (
--data_source
):on_premises
.
Ad esempio, il comando seguente crea un trasferimento Teradata denominato My Transfer
utilizzando il bucket Cloud Storage mybucket
e il set di dati di destinazione mydataset
. Verrà eseguita la migrazione di tutte le tabelle dal data warehouse Teradata mydatabase
e il file di schema facoltativo è myschemafile.json
.
bq mk \ --transfer_config \ --project_id=123456789876 \ --target_dataset=MyDataset \ --display_name='My Migration' \ --params='{"bucket": "mybucket", "database_type": "Teradata", "database_name":"mydatabase", "table_name_patterns": ".*", "agent_service_account":"myemail@mydomain.com", "schema_file_path": "gs://mybucket/myschemafile.json"}' \ --data_source=on_premises
Dopo aver eseguito il comando, viene visualizzato un messaggio simile al seguente:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
Segui le istruzioni e incolla il codice di autenticazione nella riga di comando.
API
Utilizza il metodo projects.locations.transferConfigs.create
e fornisci un'istanza della risorsa TransferConfig
.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Agente migrazione
Facoltativamente, puoi configurare il trasferimento direttamente dall'agente di migrazione. Per maggiori informazioni, consulta Inizializzare l'agente di migrazione.
Inizializzare l'agente di migrazione
Devi inizializzare l'agente di migrazione per un nuovo trasferimento. L'inizializzazione è richiesta solo una volta per un trasferimento, indipendentemente dal fatto che sia ricorrente o meno. L'inizializzazione configura solo l'agente di migrazione e non avvia il trasferimento.
Se utilizzerai l'agente di migrazione per creare un file di schema personalizzato,
assicurati che nella directory di lavoro sia presente una directory scrivibile con lo stesso nome del progetto che vuoi utilizzare per il
trasferimento. È qui che l'agente di migrazione crea il file di schema.
Ad esempio, se lavori in /home
e stai configurando il trasferimento nel progetto myProject
, crea la directory /home/myProject
e assicurati che sia scrivibile dagli utenti.
Apri una nuova sessione. Nella riga di comando, esegui il comando di inizializzazione, che segue questo modulo:
java -cp \ OS-specific-separated-paths-to-jars (JDBC and agent) \ com.google.cloud.bigquery.dms.Agent \ --initialize
L'esempio seguente mostra il comando di inizializzazione quando i file JAR del driver JDBC e dell'agente di migrazione si trovano in una directory
migration
locale:Unix, Linux, Mac OS
java -cp \ /usr/local/migration/terajdbc4.jar:/usr/local/migration/mirroring-agent.jar \ com.google.cloud.bigquery.dms.Agent \ --initialize
Windows
Copia tutti i file nella cartella
C:\migration
(o modifica i percorsi nel comando), quindi esegui:java -cp C:\migration\terajdbc4.jar;C:\migration\mirroring-agent.jar com.google.cloud.bigquery.dms.Agent --initialize
Quando richiesto, configura le seguenti opzioni:
- Scegli se salvare il modello Teradata Parallel Transporter (TPT) su disco. Se prevedi di utilizzare il metodo di estrazione TPT, puoi modificare il modello salvato con i parametri adatti alla tua istanza Teradata.
- Digita il percorso di una directory locale che il job di trasferimento può utilizzare per l'estrazione dei file. Assicurati di avere lo spazio di archiviazione minimo consigliato, come descritto in Metodo di estrazione.
- Digita il nome host del database.
- Digita la porta del database.
- Scegli se utilizzare Teradata Parallel Transporter (TPT) come metodo di estrazione.
- (Facoltativo) Digita il percorso di un file delle credenziali del database.
Scegli se specificare un nome per la configurazione di BigQuery Data Transfer Service.
Se stai inizializzando l'agente di migrazione per un trasferimento già configurato, segui questi passaggi:
- Digita il nome della risorsa del trasferimento. Puoi trovare questa informazione nella scheda Configurazione della pagina Dettagli trasferimento per il trasferimento.
- Quando richiesto, digita un percorso e un nome per il file di configurazione dell'agente di migrazione che verrà creato. Potrai fare riferimento a questo file quando esegui l'agente di migrazione per avviare il trasferimento.
- Ignora i passaggi rimanenti.
Se utilizzi l'agente di migrazione per configurare un trasferimento, premi Invio per passare al prompt successivo.
Digita l'ID progetto Google Cloud.
Digita il nome del database di origine in Teradata.
Digita un pattern per la corrispondenza dei nomi delle tabelle nel database di origine. Puoi utilizzare espressioni regolari per specificare il pattern. Ad esempio:
sales|expenses
corrisponde alle tabelle denominatesales
eexpenses
..*
corrisponde a tutte le tabelle.
(Facoltativo) Digita il percorso di un file di schema JSON locale. Questa opzione è vivamente consigliata per i trasferimenti ricorrenti.
Se non utilizzi un file di schema o se vuoi che l'agente di migrazione ne crei uno per te, premi Invio per passare al prompt successivo.
Scegli se creare un nuovo file di schema.
Se vuoi creare un file di schema:
- Digita
yes
. - Digita il nome utente di un utente teradata con accesso in lettura alle tabelle di sistema e alle tabelle di cui vuoi eseguire la migrazione.
Digita la password dell'utente.
L'agente di migrazione crea il file di schema e ne restituisce la posizione.
Modifica il file di schema per contrassegnare il partizionamento, il clustering, le chiavi primarie e le colonne di monitoraggio delle modifiche e verifica di voler utilizzare questo schema per la configurazione del trasferimento. Per suggerimenti, consulta File di schema personalizzato.
Premi
Enter
per passare al prompt successivo.
Se non vuoi creare un file di schema, digita
no
.- Digita
Digita il nome del bucket Cloud Storage di destinazione per la gestione temporanea dei dati di migrazione prima del caricamento in BigQuery. Se l'agente di migrazione ha creato un file di schema personalizzato, anche questo viene caricato in questo bucket.
Digita il nome del set di dati di destinazione in BigQuery.
Digita un nome visualizzato per la configurazione del trasferimento.
Digita un percorso e un nome file per il file di configurazione dell'agente di migrazione che verrà creato.
Dopo aver inserito tutti i parametri richiesti, l'agente di migrazione crea un file di configurazione e lo restituisce al percorso locale specificato. Consulta la prossima sezione per uno sguardo più approfondito al file di configurazione.
File di configurazione per l'agente di migrazione
Il file di configurazione creato nel passaggio di inizializzazione è simile a questo esempio:
{
"agent-id": "81f452cd-c931-426c-a0de-c62f726f6a6f",
"transfer-configuration": {
"project-id": "123456789876",
"location": "us",
"id": "61d7ab69-0000-2f6c-9b6c-14c14ef21038"
},
"source-type": "teradata",
"console-log": false,
"silent": false,
"teradata-config": {
"connection": {
"host": "localhost"
},
"local-processing-space": "extracted",
"database-credentials-file-path": "",
"max-local-storage": "50GB",
"gcs-upload-chunk-size": "32MB",
"use-tpt": true,
"transfer-views": false,
"max-sessions": 0,
"spool-mode": "NoSpool",
"max-parallel-upload": 4,
"max-parallel-extract-threads": 1,
"session-charset": "UTF8",
"max-unload-file-size": "2GB"
}
}
Opzioni del job di trasferimento nel file di configurazione dell'agente di migrazione
transfer-configuration
: informazioni su questa configurazione di trasferimento in BigQuery.teradata-config
: informazioni specifiche per questa estrazione di Teradata:connection
: informazioni sul nome host e sulla portalocal-processing-space
: la cartella di estrazione in cui l'agente estrarrà i dati della tabella, prima di caricarli in Cloud Storage.database-credentials-file-path
: (facoltativo) il percorso di un file che contiene le credenziali per la connessione automatica al database Teradata. Il file deve contenere due righe per le credenziali. Puoi utilizzare un nome utente e una password, come mostrato nell'esempio seguente:username=abc password=123
Puoi anche utilizzare un secret di SecretManager:username=abc secret_resource_id=projects/my-project/secrets/my-secret-name/versions/1
Quando utilizzi un file di credenziali, assicurati di controllare l'accesso alla cartella in cui la archivi nel file system locale, perché non sarà criptata. Se non viene fornito alcun percorso, ti verranno richiesti un nome utente e una password quando avvii un agente.max-local-storage
: la quantità massima di spazio di archiviazione locale da utilizzare per l'estrazione nella directory di gestione temporanea specificata. Il valore predefinito è50GB
. Il formato supportato è:numberKB|MB|GB|TB
.In tutte le modalità di estrazione, i file vengono eliminati dalla directory di gestione temporanea locale dopo essere stati caricati in Cloud Storage.
use-tpt
: indica all'agente di migrazione di utilizzare Teradata Parallel Transporter (TPT) come metodo di estrazione.Per ogni tabella, l'agente di migrazione genera uno script TPT, avvia un processo
tbuild
e attende il completamento. Una volta completato il processotbuild
, l'agente elenca e carica i file estratti in Cloud Storage, quindi elimina lo script TPT. Per maggiori informazioni, vedi Metodo di estrazione.transfer-views
: indica all'agente di migrazione di trasferire anche i dati dalle viste. Utilizza questa opzione solo quando hai bisogno di personalizzare i dati durante la migrazione. In altri casi, esegui la migrazione delle viste alle viste BigQuery. Questa opzione ha i seguenti prerequisiti:- Puoi utilizzare questa opzione solo con Teradata 16.10 e versioni successive.
- Una vista deve avere una "partizione" di colonna intera definita, che punta a un ID di partizione per la riga specificata nella tabella sottostante.
max-sessions
: specifica il numero massimo di sessioni utilizzate dal job di esportazione (FastExport o TPT). Se impostato su 0, il database Teradata determinerà il numero massimo di sessioni per ogni job di esportazione.gcs-upload-chunk-size
: un file di grandi dimensioni viene caricato in Cloud Storage in blocchi. Questo parametro, insieme amax-parallel-upload
, vengono utilizzati per controllare la quantità di dati caricati su Cloud Storage contemporaneamente. Ad esempio, segcs-upload-chunk-size
è di 64 MB emax-parallel-upload
è di 10 MB, in teoria un agente di migrazione può caricare 640 MB (64 MB * 10) di dati contemporaneamente. Se il caricamento del blocco non riesce, sarà necessario riprovare l'intero blocco. La dimensione del blocco deve essere piccola.max-parallel-upload
: questo valore determina il numero massimo di thread utilizzati dall'agente di migrazione per caricare i file in Cloud Storage. Se non specificato, il valore predefinito corrisponde al numero di processori disponibili per la macchina virtuale Java. La regola generale è scegliere il valore in base al numero di core nella macchina che esegue l'agente. Se hain
core, il numero ottimale di thread dovrebbe esseren
. Se i core sono con hyperthreading, il numero ottimale dovrebbe essere(2 * n)
. Esistono anche altre impostazioni, come la larghezza di banda di rete, che devi prendere in considerazione durante la regolazione dimax-parallel-upload
. La regolazione di questo parametro può migliorare le prestazioni del caricamento su Cloud Storage.spool-mode
: nella maggior parte dei casi, la modalità NoSpool è l'opzione migliore.NoSpool
è il valore predefinito nella configurazione dell'agente. Puoi modificare questo parametro se uno degli svantaggi di NoSpool si applica alla tua richiesta.max-unload-file-size
: determina la dimensione massima del file estratto. Questo parametro non viene applicato in modo forzato alle estrazioni TPT.max-parallel-extract-threads
: questa configurazione viene utilizzata solo in modalità di esportazione rapida. Determina il numero di thread paralleli usati per estrarre i dati da Teradata. La modifica di questo parametro potrebbe migliorare le prestazioni dell'estrazione.tpt-template-path
: utilizza questa configurazione per fornire uno script di estrazione TPT personalizzato come input. Puoi utilizzare questo parametro per applicare le trasformazioni ai dati di migrazione.schema-mapping-rule-path
: (facoltativo) il percorso di un file di configurazione contenente una mappatura dello schema per eseguire l'override delle regole di mappatura predefinite. Alcuni tipi di mappatura funzionano solo con la modalità Teradata Parallel Transporter (TPT).Esempio: mappatura dal tipo Teradata
TIMESTAMP
al tipo BigQueryDATETIME
:{ "rules": [ { "database": { "name": "database.*", "tables": [ { "name": "table.*" } ] }, "match": { "type": "COLUMN_TYPE", "value": "TIMESTAMP" }, "action": { "type": "MAPPING", "value": "DATETIME" } } ] }
Attributi:
database
: (facoltativo)name
è un'espressione regolare che i database includere. Tutti i database sono inclusi per impostazione predefinita.tables
: (facoltativo) contiene un array di tabelle.name
è un'espressione regolare da includere nelle tabelle. Tutte le tabelle sono incluse per impostazione predefinita.match
: (obbligatorio)type
valori supportati:COLUMN_TYPE
.value
valori supportati:TIMESTAMP
,DATETIME
.
action
: (obbligatorio)type
valori supportati:MAPPING
.value
valori supportati:TIMESTAMP
,DATETIME
.
compress-output
: (facoltativo) indica se i dati devono essere compressi prima di archiviarli su Cloud Storage. Viene applicato solo in modalità tpt. Per impostazione predefinita, questo valore èfalse
.
Esegui l'agente di migrazione
Dopo aver inizializzato l'agente di migrazione e creato il file di configurazione, segui questi passaggi per eseguire l'agente e avviare la migrazione:
Esegui l'agente specificando i percorsi del driver JDBC, dell'agente di migrazione e del file di configurazione creato nel passaggio di inizializzazione precedente.
java -cp \ OS-specific-separated-paths-to-jars (JDBC and agent) \ com.google.cloud.bigquery.dms.Agent \ --configuration-file=path to configuration file
Unix, Linux, Mac OS
java -cp \ /usr/local/migration/Teradata/JDBC/terajdbc4.jar:mirroring-agent.jar \ com.google.cloud.bigquery.dms.Agent \ --configuration-file=config.json
Windows
Copia tutti i file nella cartella
C:\migration
(o modifica i percorsi nel comando), quindi esegui:java -cp C:\migration\terajdbc4.jar;C:\migration\mirroring-agent.jar com.google.cloud.bigquery.dms.Agent --configuration-file=config.json
Se vuoi procedere con la migrazione, premi
Enter
e l'agente procederà se il classpath fornito durante l'inizializzazione è valido.Quando richiesto, digita il nome utente e la password per la connessione al database. Se nome utente e password sono validi, viene avviata la migrazione dei dati.
Facoltativo Nel comando per avviare la migrazione, puoi anche utilizzare un flag che passa un file di credenziali all'agente, anziché inserire ogni volta il nome utente e la password. Per saperne di più, consulta il parametro facoltativo
database-credentials-file-path
nel file di configurazione dell'agente. Quando utilizzi un file di credenziali, adotta le misure appropriate per controllare l'accesso alla cartella in cui lo archivi sul file system locale, in quanto non sarà criptato.Lascia aperta questa sessione fino al completamento della migrazione. Se hai creato un trasferimento di migrazione ricorrente, tieni questa sessione aperta a tempo indeterminato. Se questa sessione viene interrotta, le esecuzioni del trasferimento attuali e future non vanno a buon fine.
Monitora periodicamente se l'agente è in esecuzione. Se è in corso un'esecuzione di trasferimento e nessun agente risponde entro 24 ore, l'esecuzione del trasferimento non va a buon fine.
Se l'agente di migrazione smette di funzionare mentre il trasferimento è in corso o pianificato, la console Google Cloud mostra lo stato di errore e ti chiede di riavviare l'agente. Per avviare nuovamente l'agente di migrazione, riprendi dall'inizio di questa sezione, eseguendo l'agente di migrazione, con il comando per eseguire l'agente di migrazione. Non è necessario ripetere il comando di inizializzazione. Il trasferimento riprende dal punto in cui le tabelle non sono state completate.
Monitorare l'avanzamento della migrazione
Puoi visualizzare lo stato della migrazione nella console Google Cloud. Puoi anche configurare Pub/Sub o notifiche email. Vedi Notifiche di BigQuery Data Transfer Service.
BigQuery Data Transfer Service pianifica e avvia un'esecuzione di trasferimento in base a una pianificazione specificata al momento della creazione della configurazione del trasferimento. È importante che l'agente di migrazione sia in esecuzione quando è attiva l'esecuzione di un trasferimento. Se non ci sono aggiornamenti dal lato agente entro 24 ore, l'esecuzione del trasferimento non va a buon fine.
Esempio dello stato della migrazione nella console Google Cloud:
Esegui l'upgrade dell'agente di migrazione
Se è disponibile una nuova versione dell'agente di migrazione, devi aggiornarlo manualmente. Per ricevere notifiche relative a BigQuery Data Transfer Service, iscriviti alle note di rilascio.
Passaggi successivi
- Prova una migrazione di prova di Teradata a BigQuery.
- Scopri di più su BigQuery Data Transfer Service.
- Esegui la migrazione del codice SQL con la traduzione SQL batch.