Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Connessione a un data warehouse Snowflake con AWS Schema Conversion Tool
Puoi utilizzarlo AWS SCT per convertire schemi, oggetti di codice e codice applicativo da Snowflake ad Amazon Redshift.
Privilegi per Snowflake come database di origine
È possibile creare un ruolo con privilegi e assegnare a questo ruolo il nome di un utente utilizzando il SECURITYADMIN
ruolo e il contesto della sessione. SECURITYADMIN
L'esempio seguente crea privilegi minimi e li concede all'utente. min_privs
create role
role_name
; grant rolerole_name
to role sysadmin; grant usage on databasedb_name
to rolerole_name
; grant usage on schemadb_name
.schema_name
to rolerole_name
; grant usage on warehousedatawarehouse_name
to rolerole_name
; grant monitor on databasedb_name
to rolerole_name
; grant monitor on warehousedatawarehouse_name
to rolerole_name
; grant select on all tables in schemadb_name
.schema_name
to rolerole_name
; grant select on future tables in schemadb_name
.schema_name
to rolerole_name
; grant select on all views in schemadb_name
.schema_name
to rolerole_name
; grant select on future views in schemadb_name
.schema_name
to rolerole_name
; grant select on all external tables in schemadb_name
.schema_name
to rolerole_name
; grant select on future external tables in schemadb_name
.schema_name
to rolerole_name
; grant usage on all sequences in schemadb_name
.schema_name
to rolerole_name
; grant usage on future sequences in schemadb_name
.schema_name
to rolerole_name
; grant usage on all functions in schemadb_name
.schema_name
to rolerole_name
; grant usage on future functions in schemadb_name
.schema_name
to rolerole_name
; grant usage on all procedures in schemadb_name
.schema_name
to rolerole_name
; grant usage on future procedures in schemadb_name
.schema_name
to rolerole_name
; create user min_privs password='real_user_password
' DEFAULT_ROLE =role_name
DEFAULT_WAREHOUSE = 'datawarehouse_name
'; grant rolerole_name
to usermin_privs
;
Nell'esempio precedente, sostituite i segnaposto come segue:
-
Replace (Sostituisci)
con il nome di un ruolo con privilegi di sola lettura.role_name
-
Sostituire
con il nome del database di origine.db_name
-
Sostituire
con il nome dello schema di origine.schema_name
-
Replace (Sostituisci)
con il nome di un data warehouse richiesto.nome del data warehouse
-
Sostituisci
con il nome di un utente con privilegi minimi.min_privs
I DEFAULT_WAREHOUSE
parametri DEFAULT_ROLE
and sono sensibili ai tasti.
Configurazione dell'accesso sicuro ad Amazon S3
Le politiche di sicurezza e gestione degli accessi per un bucket Amazon S3 consentono a Snowflake di accedere, leggere e scrivere dati nel bucket S3. Puoi configurare l'accesso sicuro a un bucket Amazon S3 privato utilizzando il tipo di oggetto STORAGE INTEGRATION
Snowflake. Un oggetto di integrazione dello storage Snowflake delega la responsabilità di autenticazione a un'entità di gestione delle identità e degli accessi Snowflake.
Per ulteriori informazioni, consulta Configurazione di un'integrazione di storage Snowflake per accedere ad Amazon S3 nella documentazione di Snowflake
Connessione a Snowflake come sorgente
Utilizzare la procedura seguente per connettersi al database di origine con. AWS Schema Conversion Tool
Per connettersi a un database di origine Snowflake
-
Nella AWS Schema Conversion Tool, scegli Aggiungi fonte.
-
Scegli Snowflake, quindi scegli Avanti.
Viene visualizzata la finestra di dialogo Aggiungi sorgente.
-
Per Nome connessione, inserisci un nome per il tuo database. AWS SCT visualizza questo nome nell'albero nel pannello di sinistra.
-
Usa le credenziali del database da AWS Secrets Manager o inseriscile manualmente:
-
Per utilizzare le credenziali del database di Secrets Manager, utilizzare le seguenti istruzioni:
-
Per AWS Segreto, scegli il nome del segreto.
-
Scegli Popola per inserire automaticamente tutti i valori nella finestra di dialogo di connessione al database di Secrets Manager.
Per informazioni sull'utilizzo delle credenziali del database da Secrets Manager, vedereConfigurazione in AWS Secrets ManagerAWS Schema Conversion Tool.
-
-
Per inserire manualmente le informazioni di connessione del data warehouse di origine Snowflake, utilizzate le seguenti istruzioni:
Parametro Azione Server name (Nome del server) Immettete il nome o l'indirizzo IP del Domain Name System (DNS) del server del database di origine.
Porta del server Immetti la porta utilizzata per la connessione al server del database di origine.
Database Immettete il nome del database Snowflake.
User name (Nome utente) e Password (Password) Immettete le credenziali del database per connettervi al server del database di origine.
AWS SCT memorizza la tua password in un formato crittografato solo se la richiedi esplicitamente.
Usa SSL Scegliete questa opzione se desiderate utilizzare Secure Sockets Layer (SSL) per connettervi al database. Fornite le seguenti informazioni aggiuntive, se applicabili, nella SSLscheda:
-
Percorso della chiave privata: la posizione di una chiave privata.
-
Passphrase: la passphrase per la chiave privata.
Memorizza la password AWS SCT crea un archivio sicuro per archiviare SSL certificati e password del database. Se si imposta questa opzione, è possibile memorizzare la password del database. In questo modo è possibile connettersi rapidamente al database senza dover inserire la password.
Percorso del driver Snowflake Immetti il percorso al driver da utilizzare per la connessione al database di origine. Per ulteriori informazioni, consulta Installazione JDBC dei driver per AWS Schema Conversion Tool.
Se archivi il percorso del driver nelle impostazioni globali del progetto, il percorso del driver non viene visualizzato nella finestra di dialogo della connessione. Per ulteriori informazioni, consulta Memorizzazione dei percorsi dei conducenti nelle impostazioni globali.
-
-
-
Scegli Test Connection per verificare che sia AWS SCT possibile connettersi al database di origine.
-
Scegli Connect per connetterti al tuo database di origine.
Limitazioni per Snowflake come fonte
Di seguito sono riportate le limitazioni relative all'utilizzo di Snowflake come fonte per: AWS SCT
-
Gli identificatori di oggetto devono essere univoci nel contesto del tipo di oggetto e dell'oggetto principale:
- Database
-
Gli identificatori dello schema devono essere univoci all'interno di un database.
- Schemi
-
Gli identificatori di oggetti, ad esempio per tabelle e viste, devono essere univoci all'interno di uno schema.
- Tabelle/viste
-
Gli identificatori di colonna devono essere univoci all'interno di una tabella.
-
Il numero massimo di tabelle per i tipi di nodi cluster large e xlarge è 9.900. Per i tipi di nodi di cluster di dimensioni 8xlarge, il numero massimo di tabelle è 100.000. Il limite include tabelle temporanee, definite dall'utente e create da Amazon Redshift durante l'elaborazione delle query o la manutenzione del sistema. Per informazioni, consultare Quote di Amazon Redshift nella Guida alla gestione dei cluster Amazon Redshift.
-
Per le stored procedure, il numero massimo di argomenti di input e output è 32.
Tipi di dati di origine per Snowflake
Di seguito, puoi trovare i tipi di dati di origine Snowflake supportati durante l'utilizzo AWS SCT e la mappatura predefinita su un target Amazon Redshift.
Tipi di dati Snowflake | Tipi di dati Amazon Redshift |
---|---|
NUMBER |
NUMERIC(38) |
NUMBER(p) |
Se p è =< 4, allora SMALLINT Se p è => 5 e =< 9, allora INTEGER Se p è => 10 e =< 18, allora BIGINT Se p è => 19 allora NUMERIC (p) |
NUMBER(p, 0) |
Se p è =< 4, allora SMALLINT Se p è => 5 e =< 9, allora INTEGER Se p è => 10 e =< 18, allora BIGINT Se p è => 19 allora: NUMERIC (p,0) |
NUMBER(p, s) |
Se p è => 1 e =< 38 e se s è => 1 e =< 37, allora NUMERIC(p, s) |
FLOAT |
FLOAT |
TEXT Caratteri Unicode fino a 16.777.216 byte; fino a 4 byte per carattere. |
VARCHAR(MAX) |
TEXT(p) Caratteri Unicode fino a 65.535 byte; fino a 4 byte per carattere. |
Se p è =< 65.535 allora, (p) VARCHAR |
TEXT(p) Caratteri Unicode fino a 16.777.216 byte; fino a 4 byte per carattere. |
Se p è => 65.535 e =< 16.777.216 allora, () VARCHAR MAX |
BINARY Caratteri a byte singolo fino a 8.388.608 byte; 1 byte per carattere. |
VARCHAR(MAX) |
BINARY(p) Caratteri a byte singolo fino a 65.535 byte; 1 byte per carattere. |
VARCHAR(p) |
BINARY(p) Caratteri a byte singolo fino a 8.388.608 byte; 1 byte per carattere. |
VARCHAR(MAX) |
BOOLEAN |
BOOLEAN |
DATE |
DATE |
TIME Valori temporali compresi tra 00:00:00 e 23:59:59.999 999999. |
VARCHAR(18) |
TIME(f) Valori temporali compresi tra 00:00:00 e 23:59:59.9 (f). |
VARCHAR(n) — 9+ dt-attr-1 |
TIMESTAMP_NTZ |
TIMESTAMP |
TIMESTAMP_TZ |
TIMESTAMPTZ |
Impostazioni di conversione da Snowflake ad Amazon Redshift
Per modificare le impostazioni di conversione da Snowflake ad Amazon Redshift, scegli Impostazioni AWS SCT in, quindi scegli Impostazioni di conversione. Dall'elenco superiore, scegli Snowflake, quindi scegli Snowflake — Amazon Redshift. AWS SCT mostra tutte le impostazioni disponibili per la conversione da Snowflake ad Amazon Redshift.
Le impostazioni AWS SCT di conversione da Snowflake ad Amazon Redshift includono opzioni per quanto segue:
-
Per limitare il numero di commenti con azioni nel codice convertito.
Per Aggiungi commenti nel codice convertito per le azioni di gravità selezionata o superiore, scegli la gravità delle azioni. AWS SCT aggiunge commenti nel codice convertito per le azioni con la gravità selezionata o superiore.
Ad esempio, per ridurre al minimo il numero di commenti nel codice convertito, scegli Solo errori. Per includere commenti per tutti gli elementi d'azione nel codice convertito, scegli Tutti i messaggi.
-
Per impostare il numero massimo di tabelle applicabili AWS SCT al cluster Amazon Redshift di destinazione.
Per Il numero massimo di tabelle per il cluster Amazon Redshift di destinazione, scegli il numero di tabelle da AWS SCT applicare al tuo cluster Amazon Redshift.
Amazon Redshift dispone di quote che limitano l'utilizzo delle tabelle per diversi tipi di nodo cluster. Se scegli Auto, AWS SCT determina il numero di tabelle da applicare al cluster Amazon Redshift di destinazione in base al tipo di nodo. Facoltativamente, scegli il valore manualmente. Per ulteriori informazioni, consulta Quote e limiti in Amazon Redshift nella Guida alla gestione di Amazon Redshift.
AWS SCT converte tutte le tabelle di origine, anche se è superiore a quella che il cluster Amazon Redshift può archiviare. AWS SCT memorizza il codice convertito nel progetto e non lo applica al database di destinazione. Se raggiungi la quota del cluster Amazon Redshift per le tabelle quando applichi il codice convertito, viene AWS SCT visualizzato un messaggio di avviso. Inoltre, AWS SCT applica le tabelle al cluster Amazon Redshift di destinazione fino a quando il numero di tabelle raggiunge il limite.
-
Per applicare la compressione alle colonne delle tabelle di Amazon Redshift. Per farlo, seleziona Usa la codifica di compressione.
AWS SCT assegna automaticamente la codifica di compressione alle colonne utilizzando l'algoritmo Amazon Redshift predefinito. Per ulteriori informazioni, consulta le codifiche di compressione nella Amazon Redshift Database Developer Guide.
Per impostazione predefinita, Amazon Redshift non applica la compressione alle colonne definite come chiavi di ordinamento e distribuzione. Puoi modificare questo comportamento e applicare la compressione a queste colonne. Per farlo, seleziona Usa la codifica di compressione per KEY le colonne. È possibile selezionare questa opzione solo quando si seleziona l'opzione Usa codifica di compressione.
Impostazioni di ottimizzazione delle conversioni da Snowflake ad Amazon Redshift
Per modificare le impostazioni di ottimizzazione delle conversioni da Snowflake ad Amazon Redshift, scegli Impostazioni AWS SCT in, quindi scegli Impostazioni di conversione. Dall'elenco superiore, scegli Snowflake, quindi scegli Snowflake — Amazon Redshift. Nel riquadro a sinistra, scegli Strategie di ottimizzazione. AWS SCT visualizza le impostazioni di ottimizzazione della conversione per la conversione da Snowflake ad Amazon Redshift.
Le impostazioni AWS SCT di ottimizzazione della conversione da Snowflake ad Amazon Redshift includono opzioni per quanto segue:
-
Per utilizzare l'ottimizzazione automatica delle tabelle. A tale scopo, seleziona Usa l'ottimizzazione automatica delle tabelle di Amazon Redshift.
L'ottimizzazione automatica delle tabelle è un processo di ottimizzazione automatica in Amazon Redshift che ottimizza automaticamente la progettazione delle tabelle. Per ulteriori informazioni, consulta Lavorare con l'ottimizzazione automatica delle tabelle nella Amazon Redshift Database Developer Guide.
Per fare affidamento solo sull'ottimizzazione automatica delle tabelle, scegli Nessuno per la strategia iniziale di selezione delle chiavi.
-
Per scegliere le chiavi di ordinamento e distribuzione utilizzando la tua strategia.
Puoi scegliere le chiavi di ordinamento e distribuzione utilizzando i metadati di Amazon Redshift, le informazioni statistiche o entrambe le opzioni. Per la strategia di selezione delle chiavi iniziale nella scheda Strategie di ottimizzazione, scegli una delle seguenti opzioni:
Usa i metadati, ignora le informazioni statistiche
Ignora i metadati, usa le informazioni statistiche
Usa metadati e informazioni statistiche
A seconda dell'opzione scelta, puoi selezionare strategie di ottimizzazione. Quindi, per ogni strategia, inserisci il valore (0—100). Questi valori definiscono il peso di ogni strategia. L'utilizzo di questi valori di peso AWS SCT definisce in che modo ciascuna regola influisce sulla scelta delle chiavi di distribuzione e ordinamento. I valori predefiniti si basano sulle best practice di AWS migrazione.
È possibile definire la dimensione delle tabelle piccole per la strategia Find small tables. Per Numero minimo di righe nella tabella e Numero massimo di righe nella tabella, inserisci il numero minimo e massimo di righe in una tabella per definirla come una tabella piccola. AWS SCT applica lo stile
ALL
di distribuzione alle tabelle di piccole dimensioni. In questo caso, una copia dell'intera tabella viene distribuita su ogni nodo. -
Per configurare i dettagli della strategia.
Oltre a definire il peso per ogni strategia di ottimizzazione, puoi configurare le impostazioni di ottimizzazione. Per farlo, scegli Ottimizzazione delle conversioni.
Per il limite delle colonne chiave di ordinamento, inserisci il numero massimo di colonne nella chiave di ordinamento.
Per Valore di soglia asimmetrico, inserite la percentuale (0—100) di un valore distorto per una colonna. AWS SCT esclude le colonne con un valore di inclinazione superiore alla soglia dall'elenco dei candidati per la chiave di distribuzione. AWS SCT definisce il valore inclinato di una colonna come rapporto percentuale tra il numero di occorrenze del valore più comune e il numero totale di record.
Per le prime N interrogazioni della tabella della cronologia delle interrogazioni, immettete il numero (da 1 a 100) delle interrogazioni utilizzate più di frequente da analizzare.
Per Seleziona utente statistico, scegli l'utente del database per il quale desideri analizzare le statistiche delle query.
Inoltre, nella scheda Strategie di ottimizzazione, puoi definire la dimensione delle piccole tabelle per la strategia Trova tabelle piccole. Per Numero minimo di righe nella tabella e Numero massimo di righe nella tabella, inserisci il numero minimo e massimo di righe in una tabella per considerarla come una tabella piccola. AWS SCT applica lo stile
ALL
di distribuzione a tabelle di piccole dimensioni. In questo caso, una copia dell'intera tabella viene distribuita su ogni nodo.