Genera metadati per la traduzione e la valutazione
Questo documento descrive come creare file di log di query e metadati utilizzando lo strumento di estrazione a riga di comando dwh-migration-dumper
. I file di metadati descrivono gli oggetti SQL nel sistema di origine.
BigQuery Migration Service utilizza queste informazioni per migliorare la traduzione degli script SQL dal dialetto del sistema di origine a GoogleSQL.
La valutazione della migrazione a BigQuery utilizza file di metadati e file di log delle query per analizzare il data warehouse esistente e aiutarti a valutare lo sforzo necessario per spostarlo in BigQuery.
Panoramica
Puoi utilizzare lo strumento dwh-migration-dumper
per estrarre le informazioni sui metadati dalla piattaforma di database di cui esegui la migrazione a BigQuery. Sebbene l'utilizzo dello strumento di estrazione non sia necessario per la traduzione, è obbligatorio per la valutazione della migrazione di BigQuery e ti consigliamo vivamente di utilizzarlo per tutte le attività di migrazione.
Per ulteriori informazioni, consulta Creare file di metadati.
Puoi utilizzare lo strumento dwh-migration-dumper
per estrarre i metadati dalle seguenti piattaforme di database:
- Teradata
- Amazon Redshift
- Apache Hive
- Apache Spark
- Azure Synapse
- Greenplum
- Microsoft SQL Server
- IBM Netezza
- Oracle
- PostgreSQL
- Snowflake
- Trino o PrestoSQL
- Vertica
Per la maggior parte di questi database puoi anche estrarre i log delle query.
Lo strumento dwh-migration-dumper
esegue query sulle tabelle di sistema per raccogliere le istruzioni DDL (Data Definition Language) relative ai database utente e di sistema. Non
esegue query sui contenuti dei database utente. Lo strumento salva le informazioni sui metadati
delle tabelle di sistema come file CSV, quindi le comprime in un singolo pacchetto. Carica questo file ZIP su Cloud Storage quando carichi i file di origine per la traduzione o la valutazione.
Quando utilizzi l'opzione dei log delle query, lo strumento dwh-migration-dumper
esegue query sulle tabelle di sistema per trovare gli statement DDL e i log delle query relativi ai database utente e di sistema. Questi vengono salvati in formato CSV o YAML in una sottodirectory e poi pacchettizzati in un pacchetto ZIP. In nessun momento vengono sottoposti a query i contenuti dei database degli utenti. A questo punto, la valutazione della migrazione di BigQuery richiede singoli file CSV, YAML e di testo per i log delle query, quindi devi decomprimere tutti questi file dal file ZIP dei log delle query e caricarli per la valutazione.
Lo strumento dwh-migration-dumper
può essere eseguito su Windows, macOS e Linux.
Lo strumento dwh-migration-dumper
è disponibile in base alla
licenza Apache 2.
Se scegli di non utilizzare lo strumento dwh-migration-dumper
per la traduzione, puoi fornire manualmente i file di metadati raccogliendo le istruzioni DDL (Data Definition Language) per gli oggetti SQL nel sistema di origine in file di testo separati.
Fornire i metadati e i log delle query estratti con lo strumento è obbligatorio per la valutazione della migrazione utilizzando la valutazione della migrazione di BigQuery.
Requisiti di conformità
Forniamo il programma binario dello strumento dwh-migration-dumper
compilato per facilitarne l'utilizzo. Se
devi eseguire la verifica dello strumento per assicurarti che soddisfi i requisiti di conformità,
puoi esaminare il codice sorgente del
repository GitHub dello strumento dwh-migration-dumper
e compilare il tuo file binario.
Prerequisiti
Installa Java
Sul server su cui prevedi di eseguire lo strumento dwh-migration-dumper
deve essere installato Java 8 o versioni successive. In caso contrario, scarica Java dalla pagina dei download di Java e installalo.
Autorizzazioni obbligatorie
L'account utente specificato per collegare lo strumento dwh-migration-dumper
al sistema di origine deve disporre delle autorizzazioni per leggere i metadati da quel sistema.
Verifica che questo account disponga dell'appartenenza al ruolo appropriato per eseguire query sulle risorse di metadati disponibili per la tua piattaforma. Ad esempio, INFORMATION_SCHEMA
è una
risorsa di metadati comune a diverse piattaforme.
Installa lo strumento dwh-migration-dumper
Per installare lo strumento dwh-migration-dumper
:
- Sulla macchina in cui vuoi eseguire lo strumento
dwh-migration-dumper
, scarica il file ZIP dal repository GitHub dello strumentodwh-migration-dumper
. - Per convalidare il file ZIP dello strumento
dwh-migration-dumper
, scarica il fileSHA256SUMS.txt
esegui il seguente comando:
Bash
sha256sum --check SHA256SUMS.txt
Se la verifica non va a buon fine, consulta la sezione Risoluzione dei problemi.
Windows PowerShell
(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]
Sostituisci RELEASE_ZIP_FILENAME
con il nome del file ZIP scaricato della release dello strumento di estrazione a riga di comando dwh-migration-dumper
, ad esempio
dwh-migration-tools-v1.0.52.zip
Il risultato True
conferma la verifica del checksum.
Il risultato False
indica un errore di verifica. Assicurati che i file di controllo e zip vengano scaricati dalla stessa versione di release e inseriti nella stessa directory.
- Estrai il file ZIP. Il file binario dello strumento di estrazione si trova nella sottodirectory
/bin
della cartella creata estraendo il file ZIP. - Aggiorna la variabile di ambiente
PATH
in modo da includere il percorso di installazione dello strumento di estrazione.
Esegui lo strumento dwh-migration-dumper
Lo strumento dwh-migration-dumper
utilizza il seguente formato:
dwh-migration-dumper [FLAGS]
L'esecuzione dello strumento dwh-migration-dumper
crea un file di output denominato
dwh-migration-<source platform>-metadata.zip
, ad esempio
dwh-migration-teradata-metadata.zip
, nella directory di lavoro.
Segui le istruzioni riportate di seguito per scoprire come eseguire lo strumento dwh-migration-dumper
per la tua piattaforma di origine.
Teradata
Per consentire allo strumento dwh-migration-dumper
di connettersi a Teradata, scarica il relativo driver JDBC dalla pagina di download di Teradata.
La tabella seguente descrive i flag di uso comune per l'estrazione degli log delle query e dei metadati Teradata utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.
Nome | Valore predefinito | Descrizione | Obbligatorio |
---|---|---|---|
--assessment |
Attiva la modalità di valutazione durante la generazione di log del database o l'estrazione dei metadati.
Lo strumento |
Obbligatorio se utilizzato per la valutazione in esecuzione, non obbligatorio per la traduzione. | |
--connector |
Il nome del connettore da utilizzare, in questo caso teradata per i metadati o teradata-logs per i log delle query. | Sì | |
--database |
Un elenco dei database da estrarre, separati da virgole. I nomi dei database potrebbero essere sensibili alle maiuscole, a seconda della configurazione del server Teradata. Se questo flag viene utilizzato in combinazione con il connettore Questo flag non può essere utilizzato in combinazione con il connettore
|
No | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo. | |
--port |
1025 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. |
Sì | |
--query-log-alternates |
Solo per il connettore Per estrarre i log delle query da una posizione alternativa, ti consigliamo di utilizzare i flag
Per impostazione predefinita, i log delle query vengono estratti dalle tabelle
Esempio:
|
No | |
-Dteradata.tmode |
La modalità di transazione per la connessione. Sono supportati i seguenti valori:
Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.log-date-column |
Solo per il connettore
Per migliorare le prestazioni dell'unione delle tabelle specificate dagli indicatori Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.query-logs-table |
Solo per il connettore
Per impostazione predefinita, i log delle query vengono estratti dalla tabella
Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.sql-logs-table |
Solo per il connettore
Per impostazione predefinita, i log delle query contenenti il testo SQL vengono estratti dalla tabella Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.utility-logs-table |
Solo per il connettore
Per impostazione predefinita, i log di utilità vengono estratti dalla tabella
Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.res-usage-scpu-table |
Solo per il connettore
Per impostazione predefinita, i log relativi all'utilizzo delle risorse SCPU vengono estratti dalla tabella Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.res-usage-spma-table |
Solo per il connettore
Per impostazione predefinita, i log relativi all'utilizzo delle risorse SPMA vengono estratti dalla tabella Esempio (Bash): Esempio (Windows PowerShell): |
No | |
--query-log-start |
L'ora di inizio (inclusa) dei log delle query da estrarre. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore teradata-logs.
Esempio: |
No | |
--query-log-end |
L'ora di fine (esclusiva) per l'estrazione dei log delle query. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore teradata-logs.
Esempio: |
No | |
-Dteradata.metadata.tablesizev.max-rows |
Solo per il connettore Limita il numero di righe estratte dalla visualizzazione
Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata.metadata.diskspacev.max-rows |
Solo per il connettore Limita il numero di righe estratte dalla visualizzazione
Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata.metadata.databasesv.users.max-rows |
Solo per il connettore
Limita il numero di righe che rappresentano gli utenti
( Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata.metadata.databasesv.dbs.max-rows |
Solo per il connettore Limita il numero di righe che rappresentano i database
( Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata.metadata.max-text-length |
Solo per il connettore Lunghezza massima della colonna di testo durante l'estrazione dei dati dalla visualizzazione Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.max-sql-length |
Solo per il connettore Lunghezza massima della colonna Esempio (Bash): Esempio (Windows PowerShell): |
No |
Esempi
L'esempio seguente mostra come estrarre i metadati di due database Teradata sull'host locale:
dwh-migration-dumper \
--connector teradata \
--user user \
--password password \
--database database1,database2 \
--driver path/terajdbc4.jar
L'esempio seguente mostra come estrarre i log delle query per la valutazione sull'hosting locale per l'autenticazione:
dwh-migration-dumper \
--connector teradata-logs \
--assessment \
--user user \
--password password \
--driver path/terajdbc4.jar
Tabelle e visualizzazioni estratte dallo strumento dwh-migration-dumper
Quando utilizzi il connettore teradata
, vengono estratte le seguenti tabelle e visualizzazioni:
DBC.ColumnsV
DBC.DatabasesV
DBC.DBCInfo
DBC.FunctionsV
DBC.IndicesV
DBC.PartitioningConstraintsV
DBC.TablesV
DBC.TableTextV
Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore teradata
con il flag --assessment
:
DBC.All_RI_ChildrenV
DBC.All_RI_ParentsV
DBC.AllTempTablesVX
DBC.DiskSpaceV
DBC.RoleMembersV
DBC.StatsV
DBC.TableSizeV
Quando utilizzi il connettore teradata-logs
, vengono estratte le seguenti tabelle e visualizzazioni:
DBC.DBQLogTbl
(viene modificato inDBC.QryLogV
se viene utilizzato il flag--assessment
)DBC.DBQLSqlTbl
Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore teradata-logs
con il flag --assessment
:
DBC.DBQLUtilityTbl
DBC.ResUsageScpu
DBC.ResUsageSpma
Redshift
Con lo strumento di estrazione puoi utilizzare uno dei seguenti meccanismi di autenticazione e autorizzazione di Amazon Redshift:
- Un nome utente e una password.
- Un ID chiave di accesso e una chiave segreta di AWS Identity and Access Management (IAM).
- Un nome del profilo AWS IAM.
Per autenticarti con il nome utente e la password, utilizza il driver JDBC PostgreSQL predefinito di Amazon Redshift. Per autenticarti con AWS IAM, utilizza il driver JDBC di Amazon Redshift, che puoi scaricare dalla relativa pagina di download.
La tabella seguente descrive i flag di uso comune per l'estrazione dei metadati e dei log delle query di Amazon Redshift utilizzando lo strumento dwh-migration-dumper
. Per informazioni su tutti i flag supportati, consulta flag globali.
Nome | Valore predefinito | Descrizione | Obbligatorio |
---|---|---|---|
--assessment |
Attivazione della modalità di valutazione durante la generazione di log del database o l'estrazione dei metadati. Genera le statistiche dei metadati richieste per la valutazione della migrazione a BigQuery quando viene utilizzato per l'estrazione dei metadati. Se utilizzato per l'estrazione dei log delle query, genera statistiche sulle metriche delle query per la valutazione della migrazione di BigQuery. |
Obbligatorio quando viene eseguito in modalità di valutazione, non necessario per la traduzione. | |
--connector |
Il nome del connettore da utilizzare, in questo caso redshift per i metadati o redshift-raw-logs per i log delle query. | Sì | |
--database |
Se non specificato, Amazon Redshift utilizza il valore --user come nome del database predefinito. |
Il nome del database a cui connetterti. |
No |
--driver |
Se non specificato, Amazon Redshift utilizza il driver JDBC PostgreSQL predefinito. | Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | No |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--iam-accesskeyid |
L'ID chiave di accesso AWS IAM da utilizzare per l'autenticazione. La chiave di accesso
è una stringa di caratteri, ad esempio
Da utilizzare in combinazione con il flag |
No, ma devi fornire le informazioni di autenticazione tramite uno dei seguenti metodi:
|
|
--iam-profile |
Il profilo AWS IAM da utilizzare per l'autenticazione. Puoi recuperare un
valore del profilo da utilizzare esaminando il
file
Non utilizzare questo flag con i flag |
No, ma devi fornire le informazioni di autenticazione tramite uno dei seguenti metodi:
|
|
--iam-secretaccesskey |
La chiave di accesso segreta AWS IAM da utilizzare per l'autenticazione. La chiave di accesso secret è una stringa di caratteri, ad esempio
Da utilizzare in combinazione con il flag |
No, ma devi fornire le informazioni di autenticazione tramite uno dei seguenti metodi:
|
|
--password |
La password da utilizzare per la connessione al database.
Non utilizzare questo flag con i flag |
No, ma devi fornire le informazioni di autenticazione tramite uno dei seguenti metodi:
|
|
--port |
5439 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì | |
--query-log-start |
L'ora di inizio (inclusa) dei log delle query da estrarre. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore redshift-raw-logs.
Esempio: |
No | |
--query-log-end |
L'ora di fine (esclusiva) per l'estrazione dei log delle query. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore redshift-raw-logs.
Esempio: |
No |
Esempi
L'esempio seguente mostra come estrarre i metadati da un database Amazon Redshift su un host specificato utilizzando le chiavi AWS IAM per l'autenticazione:
dwh-migration-dumper \
--connector redshift \
--database database \
--driver path/redshift-jdbc42-version.jar \
--host host.region.redshift.amazonaws.com \
--iam-accesskeyid access_key_ID \
--iam-secretaccesskey secret_access-key \
--user user
L'esempio seguente mostra come estrarre i metadati da un database Amazon Redshift sull'host predefinito utilizzando il nome utente e la password per l'autenticazione:
dwh-migration-dumper \
--connector redshift \
--database database \
--password password \
--user user
L'esempio seguente mostra come estrarre i metadati da un database Amazon Redshift su un host specificato utilizzando un profilo IAM AWS per l'autenticazione:
dwh-migration-dumper \
--connector redshift \
--database database \
--driver path/redshift-jdbc42-version.jar \
--host host.region.redshift.amazonaws.com \
--iam-profile profile \
--user user \
--assessment
L'esempio seguente mostra come estrarre i log delle query per la valutazione da un database Amazon Redshift su un host specificato utilizzando un profilo IAM AWS per l'autenticazione:
dwh-migration-dumper \
--connector redshift-raw-logs \
--database database \
--driver path/redshift-jdbc42-version.jar \
--host 123.456.789.012 \
--iam-profile profile \
--user user \
--assessment
Tabelle e visualizzazioni estratte dallo strumento dwh-migration-dumper
Quando utilizzi il connettore redshift
, vengono estratte le seguenti tabelle e visualizzazioni:
SVV_COLUMNS
SVV_EXTERNAL_COLUMNS
SVV_EXTERNAL_DATABASES
SVV_EXTERNAL_PARTITIONS
SVV_EXTERNAL_SCHEMAS
SVV_EXTERNAL_TABLES
SVV_TABLES
SVV_TABLE_INFO
INFORMATION_SCHEMA.COLUMNS
PG_CAST
PG_DATABASE
PG_LANGUAGE
PG_LIBRARY
PG_NAMESPACE
PG_OPERATOR
PG_PROC
PG_TABLE_DEF
PG_TABLES
PG_TYPE
PG_VIEWS
Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore redshift
con il flag --assessment
:
SVV_DISKUSAGE
STV_MV_INFO
STV_WLM_SERVICE_CLASS_CONFIG
STV_WLM_SERVICE_CLASS_STATE
Quando utilizzi il connettore redshift-raw-logs
, vengono estratte le seguenti tabelle e visualizzazioni:
STL_DDLTEXT
STL_QUERY
STL_QUERYTEXT
PG_USER
Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore redshift-raw-logs
con il flag --assessment
:
STL_QUERY_METRICS
SVL_QUERY_QUEUE_INFO
STL_WLM_QUERY
Per informazioni sulle viste e sulle tabelle di sistema in Redshift, consulta Viste di sistema Redshift e Tabelle del catalogo di sistema Redshift.
Apache Hive/Spark o Trino/PrestoSQL
Lo strumento dwh-migration-dumper
supporta l'autenticazione al metastore Apache Hive solo tramite Kerberos. Pertanto, i flag --user
e --password
non vengono utilizzati, ma utilizza il flag --hive-kerberos-url
per fornire i dettagli di autenticazione Kerberos.
La tabella seguente descrive i flag di uso comune per l'estrazione dei metadati di Apache Hive, Spark, Presto o Trino utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
Nome | Valore predefinito | Descrizione | Obbligatorio |
---|---|---|---|
--assessment |
Attiva la modalità di valutazione durante l'estrazione dei metadati.
Lo strumento |
Obbligatorio per la valutazione. Non è necessario per la traduzione. | |
--connector |
Il nome del connettore da utilizzare, in questo caso hiveql. | Sì | |
--hive-metastore-dump-partition-metadata |
true |
Consente allo strumento
Non utilizzare questo flag con il flag |
No |
--hive-metastore-version |
2.3.6 |
Quando esegui lo strumento |
No |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--port |
9083 | La porta del server di database. | No |
--hive-kerberos-url |
L'entità Kerberos e l'host da utilizzare per l'autenticazione. | Obbligatorio per i cluster con autenticazione Kerberos abilitata. | |
-Dhiveql.rpc.protection |
Il livello di configurazione della protezione RPC. Questo determina la qualità
della protezione (QOP) della connessione del livello di autenticazione e sicurezza semplice
(SASL) tra il cluster e lo strumento Deve essere uguale al valore del parametro
Esempio (Bash): Esempio (Windows PowerShell): |
Obbligatorio per i cluster con autenticazione Kerberos abilitata. |
Esempi
L'esempio seguente mostra come estrarre i metadati per un database Hive 2.3.7 su un host specificato, senza autenticazione e utilizzando una porta alternativa per la connessione:
dwh-migration-dumper \
--connector hiveql \
--hive-metastore-version 2.3.7 \
--host host \
--port port
Per utilizzare l'autenticazione Kerberos, accedi come utente che dispone delle autorizzazioni di lettura per il metastore Hive e genera un ticket Kerberos. Quindi, genera il file ZIP dei metadati con il seguente comando:
JAVA_OPTS="-Djavax.security.auth.useSubjectCredsOnly=false" \
dwh-migration-dumper \
--connector hiveql \
--host host \
--port port \
--hive-kerberos-url principal/kerberos_host
Azure Synapse o Microsoft SQL Server
Per consentire allo strumento dwh-migration-dumper
di connettersi ad Azure Synapse o
Microsoft SQL Server, scarica il relativo driver JDBC dalla
pagina di download di Microsoft.
La seguente tabella descrive i flag di uso comune per l'estrazione degli metadati di Azure Synapse o Microsoft SQL Server utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
Nome | Valore predefinito | Descrizione | Obbligatorio |
---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso sqlserver. | Sì | |
--database |
Il nome del database a cui connetterti. |
Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Sì | |
--port |
1433 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati da un database Azure Synapse su un host specificato:
dwh-migration-dumper \
--connector sqlserver \
--database database \
--driver path/mssql-jdbc.jar \
--host server_name.sql.azuresynapse.net \
--password password \
--user user
Greenplum
Per consentire allo strumento dwh-migration-dumper
di connettersi a Greenplum, scarica il relativo
driver JDBC dalla pagina di download di VMware Greenplum.
La seguente tabella descrive i flag di uso comune per l'estrazione dei metadati di Greenplum utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.
Nome | Valore predefinito | Descrizione | Obbligatorio |
---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso greenplum. | Sì | |
--database |
Il nome del database a cui connetterti. |
Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo. | |
--port |
5432 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati di un database Greenplum su un host specificato:
dwh-migration-dumper \
--connector greenplum \
--database database \
--driver path/greenplum.jar \
--host host \
--password password \
--user user \
Netezza
Per consentire allo strumento dwh-migration-dumper
di connettersi a IBM Netezza, devi recuperare il relativo driver JDBC. In genere, puoi ottenere il driver dalla directory /nz/kit/sbin
sulla tua appliance IBM Netezza. Se non riesci a trovarlo, rivolgiti all'amministratore di sistema o consulta la sezione Installazione e configurazione di JDBC nella documentazione di IBM Netezza.
La seguente tabella descrive i flag di uso comune per l'estrazione dei metadati IBM Netezza utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.
Nome | Valore predefinito | Descrizione | Obbligatorio |
---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso nettezza. | Sì | |
--database |
Un elenco dei database da estrarre, separati da virgole. |
Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Sì | |
--port |
5480 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati di due database IBM Netezza su un host specificato:
dwh-migration-dumper \
--connector netezza \
--database database1,database2 \
--driver path/nzjdbc.jar \
--host host \
--password password \
--user user
PostgreSQL
Per consentire allo strumento dwh-migration-dumper
di connettersi a PostgreSQL, scarica il relativo
driver JDBC dalla
pagina di download di PostgreSQL.
La seguente tabella descrive i flag di uso comune per l'estrazione degli metadati PostgreSQL utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.
Nome | Valore predefinito | Descrizione | Obbligatorio |
---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso postgresql. | Sì | |
--database |
Il nome del database a cui connetterti. |
Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo. | |
--port |
5432 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati per un database PostgreSQL su un host specificato:
dwh-migration-dumper \
--connector postgresql \
--database database \
--driver path/postgresql-version.jar \
--host host \
--password password \
--user user
Oracle
Per consentire allo strumento dwh-migration-dumper
di connettersi a Oracle, scarica il relativo
driver JDBC dalla
pagina di download di Oracle.
La seguente tabella descrive i flag di uso comune per l'estrazione degli oggetti Oracle utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.
Nome | Valore predefinito | Descrizione | Obbligatorio |
---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso oracle. | Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--oracle-service |
Il nome del servizio Oracle da utilizzare per la connessione. |
No, ma devi specificare questo flag o il
flag --oracle-sid . |
|
--oracle-sid |
L'identificatore di sistema (SID) Oracle da utilizzare per la connessione. |
No, ma devi specificare questo flag o il
flag --oracle-service . |
|
--password |
La password da utilizzare per la connessione al database. | Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo. | |
--port |
1521 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database.
L'utente specificato deve avere il ruolo |
Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati di un database Oracle su un host specificato utilizzando il servizio Oracle per la connessione:
dwh-migration-dumper \
--connector oracle \
--driver path/ojdbc8.jar \
--host host \
--oracle-service service_name \
--password password \
--user user
Snowflake
La seguente tabella descrive i flag di uso comune per l'estrazione dei metadati di Snowflake utilizzando lo strumento dwh-migration-dumper
. Per informazioni su tutti i flag supportati, consulta flag globali.
Nome | Valore predefinito | Descrizione | Obbligatorio |
---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso snowflake. | Sì | |
--database |
Il nome del database a cui connetterti. Puoi estrarre solo da un database alla volta da Snowflake. |
Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo. | |
--role |
Il ruolo Snowflake da utilizzare per l'autorizzazione. Devi specificarlo solo per installazioni di grandi dimensioni in cui devi recuperare i metadati dallo schema SNOWFLAKE.ACCOUNT_USAGE anziché da INFORMATION_SCHEMA . Per ulteriori informazioni, consulta
Utilizzare istanze Snowflake di grandi dimensioni.
|
No | |
--user |
Il nome utente da utilizzare per la connessione al database. |
Sì | |
--warehouse |
Il data warehouse Snowflake da utilizzare per l'elaborazione delle query sui metadati. |
Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati per un database Snowflake di dimensioni standard sull'host locale:
dwh-migration-dumper \
--connector snowflake \
--database database \
--password password \
--user user \
--warehouse warehouse
L'esempio seguente mostra come estrarre i metadati di un database Snowflake di grandi dimensioni su un host specificato:
dwh-migration-dumper \
--connector snowflake \
--database database \
--host "account.snowflakecomputing.com" \
--password password \
--role role \
--user user \
--warehouse warehouse
Utilizzo di istanze Snowflake di grandi dimensioni
Lo strumento dwh-migration-dumper
legge i metadati da Snowflake
INFORMATION_SCHEMA
. Tuttavia, esiste un limite alla quantità di dati che puoi recuperare da INFORMATION_SCHEMA
. Se esegui lo strumento di estrazione e ricevi l'errore SnowflakeSQLException:
Information schema query returned too much data
, devi svolgere i seguenti passaggi per poter leggere i metadati dallo schema SNOWFLAKE.ACCOUNT_USAGE
:
- Apri l'opzione Condivisioni nell'interfaccia web di Snowflake.
Crea un database dalla condivisione
SNOWFLAKE.ACCOUNT_USAGE
:-- CREATE DATABASE database FROM SHARE SNOWFLAKE.ACCOUNT_USAGE;
Crea un ruolo:
CREATE ROLE role;
Concedi i privilegi
IMPORTED
sul nuovo database al ruolo:GRANT IMPORTED PRIVILEGES ON DATABASE database TO ROLE role;
Concedi il ruolo all'utente che intendi utilizzare per eseguire lo strumento
dwh-migration-dumper
:GRANT ROLE role TO USER user;
Vertica
Per consentire allo strumento dwh-migration-dumper
di connettersi a Vertica, scarica il relativo driver JDBC dalla pagina di download.
La seguente tabella descrive i flag di uso comune per l'estrazione degli metadati Vertica utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta flag globali.
Nome | Valore predefinito | Descrizione | Obbligatorio |
---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso vertica. | Sì | |
--database |
Il nome del database a cui connetterti. |
Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Sì | |
--port |
5433 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati da un database Vertica sull'host locale:
dwh-migration-dumper \
--driver path/vertica-jdbc.jar \
--connector vertica \
--database database
--user user
--password password
Flag globali
La tabella seguente descrive i flag che possono essere utilizzati con qualsiasi piattaforma di origine supportata.
Nome | Descrizione |
---|---|
--connector |
Il nome del connettore per il sistema di origine. |
--database |
L'utilizzo varia in base al sistema di origine. |
--driver |
Il percorso assoluto o relativo al file JAR del driver da utilizzare quando ti connetti al sistema di origine. Puoi specificare più file JAR del driver, separandoli con virgole. |
--dry-run o -n |
Mostra le azioni che lo strumento di estrazione eseguirà senza eseguirle. |
--help |
Visualizza la guida della riga di comando. |
--host |
Il nome host o l'indirizzo IP del server database a cui connetterti. |
--jdbcDriverClass |
Se vuoi, sostituisce il nome della classe del driver JDBC specificato dal fornitore. Utilizza questa opzione se hai un client JDBC personalizzato. |
--output |
Il percorso del file ZIP di output. Ad esempio,
dir1/dir2/teradata-metadata.zip . Se
non specifichi un percorso, il file di output viene creato nella directory
di lavoro. Se specifichi il percorso di una directory, il nome del file ZIP predefinito viene creato nella directory specificata. Se la directory non esiste, viene creata.
Per utilizzare Cloud Storage, utilizza il seguente formato: Per autenticarti utilizzando le credenziali di Google Cloud, consulta Eseguire l'autenticazione per l'utilizzo delle librerie client. |
--password |
La password da utilizzare per la connessione al database. |
--port |
La porta del server di database. |
--save-response-file |
Salva i flag della riga di comando in un file JSON per un facile riutilizzo. Il
file si chiama dumper-response-file.json e viene creato
nella directory di lavoro. Per utilizzare il file di risposta, fornisci il percorso con il prefisso @ quando esegui lo strumento di estrazione, ad esempio dwh-migration-dumper @path/to/dumper-response-file.json .
|
--schema |
Un elenco degli schemi da estrarre, separati da virgole.
Oracle non fa distinzione tra un
schema
e l'utente del database che lo ha creato, pertanto puoi utilizzare
nomi di schema o nomi utente con il flag |
--thread-pool-size |
Imposta la dimensione del pool di thread, che influisce sulle dimensioni del pool di connessioni.
Le dimensioni predefinite del pool di thread corrispondono al numero di core sul server
che esegue lo strumento Se lo strumento di estrazione sembra lento o ha bisogno di più risorse, puoi aumentare il numero di thread utilizzati. Se sono presenti indicazioni che altri processi sul server richiedono più larghezza di banda, puoi ridurre il numero di thread utilizzati. |
--url |
L'URL da utilizzare per la connessione al database, anziché l'URI generato dal driver JDBC. L'URI generato dovrebbe essere sufficiente nella maggior parte dei casi. Sostituisci l'URI generato solo quando devi utilizzare un'impostazione di connessione JDBC specifica per la piattaforma di origine e non è già impostata da uno dei flag elencati in questa tabella. |
--user |
Il nome utente da utilizzare per la connessione al database. |
--version |
Mostra la versione del prodotto. |
Risoluzione dei problemi
Questa sezione illustra alcuni problemi comuni e tecniche di risoluzione dei problemi per lo strumento dwh-migration-dumper
.
Errore di memoria insufficiente
L'errore java.lang.OutOfMemoryError
nell'output del terminale dello strumento dwh-migration-dumper
è spesso correlato a una memoria insufficiente per l'elaborazione dei dati recuperati.
Per risolvere il problema, aumenta la memoria disponibile o riduci il numero di
thread di elaborazione.
Puoi aumentare la memoria massima esportando la variabile di ambiente JAVA_OPTS
:
Linux
export JAVA_OPTS="-Xmx4G"
Windows
set JAVA_OPTS="-Xmx4G"
Puoi ridurre il numero di thread di elaborazione (il valore predefinito è 32) includendo il flag --thread-pool-size
. Questa opzione è supportata solo per i connettori hiveql
e
redshift*
.
dwh-migration-dumper --thread-pool-size=1
Gestione di un errore WARN...Task failed
A volte potresti visualizzare un errore WARN [main]
o.c.a.d.MetadataDumper [MetadataDumper.java:107] Task failed: …
nell'output del terminale dello strumento dwh-migration-dumper
. Lo strumento di estrazione invia più query al sistema di origine e l'output di ogni query viene scritto in un file dedicato. Se visualizzi questo problema, significa che una di queste query non è andata a buon fine. Tuttavia, l'errore di una query non impedisce l'esecuzione
delle altre query. Se vedi più di un paio di errori WARN
, controlla i dettagli del problema e verifica se c'è qualcosa da correggere affinché la query venga eseguita correttamente.
Ad esempio, se l'utente del database specificato durante l'esecuzione dello strumento di estrazione non dispone delle autorizzazioni per leggere tutti i metadati, riprova con un utente che dispone delle autorizzazioni corrette.
File ZIP danneggiato
Per convalidare il file ZIP dello strumento dwh-migration-dumper
, scarica il
file SHA256SUMS.txt
esegui il seguente comando:
Bash
sha256sum --check SHA256SUMS.txt
Il risultato OK
conferma la verifica del checksum. Qualsiasi altro messaggio
indica un errore di verifica:
FAILED: computed checksum did NOT match
: il file ZIP è danneggiato e deve essere scaricato di nuovo.FAILED: listed file could not be read
: non è possibile trovare la versione del file ZIP. Assicurati che i file di checksum e ZIP vengano scaricati dalla stessa versione di release e inseriti nella stessa directory.
Windows PowerShell
(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]
Sostituisci RELEASE_ZIP_FILENAME
con il nome del file ZIP scaricato della release dello strumento di estrazione a riga di comando dwh-migration-dumper
, ad esempio
dwh-migration-tools-v1.0.52.zip
Il risultato True
conferma la verifica del checksum.
Il risultato False
indica un errore di verifica. Assicurati che i file di controllo e zip vengano scaricati dalla stessa versione di release e inseriti nella stessa directory.
L'estrazione dei log delle query Teradata è lenta
Per migliorare il rendimento dell'unione delle tabelle specificate dagli indicatori -Dteradata-logs.query-logs-table
e -Dteradata-logs.sql-logs-table
, puoi includere una colonna aggiuntiva di tipo DATE
nella condizione JOIN
. Questa colonna deve essere definita in entrambe le tabelle e deve far parte dell'indice principale partizionato. Per includere questa colonna, utilizza il flag -Dteradata-logs.log-date-column
.
Esempio:
Bash
dwh-migration-dumper \ -Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV \ -Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl \ -Dteradata-logs.log-date-column=ArchiveLogDate
Windows PowerShell
dwh-migration-dumper ` "-Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV" ` "-Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl" ` "-Dteradata-logs.log-date-column=ArchiveLogDate"
È stato superato il limite di dimensioni delle righe Teradata
Teradata 15 ha un limite di dimensione delle righe di 64 kB. Se il limite viene superato, il dumper
non va a buon fine con il seguente messaggio:
none
[Error 9804] [SQLState HY000] Response Row size or Constant Row size overflow
Per risolvere questo errore, estendi il limite di righe a 1 MB o suddividi le righe in più righe:
- Installa e attiva la funzionalità Righe di risposta e permessi da 1 MB e il software TTU attuale. Per ulteriori informazioni, consulta Messaggio del database Teradata 9804
- Suddividi il testo della query lunga in più righe utilizzando i flag
-Dteradata.metadata.max-text-length
e-Dteradata-logs.max-sql-length
.
Il seguente comando mostra l'utilizzo del parametro -Dteradata.metadata.max-text-length
per suddividere il testo della query lunga in più righe di massimo 10.000 caratteri ciascuna:
Bash
dwh-migration-dumper \ --connector teradata \ -Dteradata.metadata.max-text-length=10000
Windows PowerShell
dwh-migration-dumper ` --connector teradata ` "-Dteradata.metadata.max-text-length=10000"
Il seguente comando mostra l'utilizzo del parametro -Dteradata-logs.max-sql-length
per suddividere il testo della query lunga in più righe di massimo 10.000 caratteri ciascuna:
Bash
dwh-migration-dumper \ --connector teradata-logs \ -Dteradata-logs.max-sql-length=10000
Windows PowerShell
dwh-migration-dumper ` --connector teradata-logs ` "-Dteradata-logs.max-sql-length=10000"
Problema di connessione Oracle
Nei casi più comuni, come password o nome host non validi, lo strumento dwh-migration-dumper
stampa un messaggio di errore significativo che descrive il problema principale. Tuttavia, in alcuni
casi, il messaggio di errore restituito dal server Oracle potrebbe essere generico e
difficile da esaminare.
Uno di questi problemi è IO Error: Got minus one from a read call
. Questo errore indica che la connessione al server Oracle è stata stabilita, ma il server non ha accettato il client e ha chiuso la connessione. In genere, questo problema si verifica quando il server accetta solo connessioni TCPS
. Per impostazione predefinita, lo strumentodwh-migration-dumper
utilizza il protocollo TCP
. Per risolvere il problema, devi eseguire l'override dell'URL di connessione JDBC di Oracle.
Anziché fornire gli indicatori oracle-service
, host
e port
, puoi risolvere il problema specificando l'indicatore url
nel seguente formato:
jdbc:oracle:thin:@tcps://{HOST_NAME}:{PORT}/{ORACLE_SERVICE}
. In genere, il numero di porta TCPS
utilizzato dal server Oracle è 2484
.
Comando dumper di esempio:
dwh-migration-dumper \
--connector oracle-stats \
--url "jdbc:oracle:thin:@tcps://host:port/oracle_service" \
--assessment \
--driver "jdbc_driver_path" \
--user "user" \
--password
Oltre a modificare il protocollo di connessione in TCPS, potrebbe essere necessario fornire la configurazione SSL del trustStore necessaria per verificare il certificato del server Oracle. Una configurazione SSL mancante comporterà un messaggio di errore Unable to find valid
certification path
. Per risolvere il problema, imposta la variabile di ambiente JAVA_OPTS:
set JAVA_OPTS=-Djavax.net.ssl.trustStore="jks_file_location" -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword="password"
A seconda della configurazione del server Oracle, potrebbe essere necessario fornire anche la configurazione del keystore. Per ulteriori informazioni sulle opzioni di configurazione, consulta SSL con il driver JDBC di Oracle.
Passaggi successivi
Dopo aver eseguito lo strumento dwh-migration-dumper
,
carica l'output su Cloud Storage insieme ai file di origine per la traduzione.