Origine batch Redshift

Questa pagina descrive come caricare i dati da un'istanza Amazon Redshift inGoogle Cloud con Cloud Data Fusion. Il connettore dell'origine Redshift ti consente di sincronizzare le tabelle del tuo set di dati Redshift con la destinazione, ad esempio BigQuery. Il connettore ti consente anche di creare una query SQL configurabile.

Prima di iniziare

  • Le versioni 6.9.0 e successive di Cloud Data Fusion supportano l'origine Redshift.
  • Quando configuri il connettore dell'origine Redshift, puoi selezionare una connessione esistente riutilizzabile o crearne una nuova una tantum. Per maggiori informazioni, consulta Gestire le connessioni. Quando riutilizzi una connessione, tieni presente quanto segue:

    • Non è necessario fornire le credenziali.
    • La connessione esistente fornisce le informazioni sullo schema e sul nome della tabella che vengono utilizzate per generare la query di importazione.

Configura il plug-in

  1. Vai all'interfaccia web di Cloud Data Fusion e fai clic su Studio.

  2. Verifica che sia selezionata l'opzione Pipeline di dati - Batch (non In tempo reale).

  3. Nel menu Origine, fai clic su Redshift. Il nodo Redshift viene visualizzato nella pipeline. Se non vedi l'origine Redshift nella pagina Studio, esegui il deployment del connettore dell'origine Redshift dall'hub Cloud Data Fusion.

  4. Per configurare l'origine, vai al nodo Redshift e fai clic su Properties (Proprietà).

  5. Inserisci le seguenti proprietà. Per un elenco completo, consulta Proprietà.

    1. Inserisci un'etichetta per il nodo Redshift, ad esempio Redshift tables.
    2. Inserisci i dettagli della connessione. Puoi configurare una nuova connessione una tantum o una connessione esistente riutilizzabile.

      Nuova connessione

      Per aggiungere una connessione una tantum a Redshift:

      1. Mantieni disattivata l'opzione Usa connessione.
      2. Nel campo Nome del driver JDBC, inserisci il nome del driver. Redshift supporta due tipi di driver JDBC: CData e Amazon. Per ulteriori informazioni, consulta Caricare un driver JDBC.
      3. Nel campo Host, inserisci l'endpoint del cluster Redshift, ad esempio cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com.
      4. (Facoltativo) Nel campo Porta, inserisci un numero di porta del database, ad esempio 5439.
      5. Se il database Redshift richiede l'autenticazione, svolgi quanto segue:

        1. Nel campo Nome utente, inserisci il nome del database.
        2. Nel campo Password, inserisci la password del database.
        3. (Facoltativo) Nel campo Argomenti, inserisci gli argomenti valore chiave. Per utilizzare il driver CData, fornisci gli argomenti di connessione, ad esempio RTK o OEMKey, se applicabile.
        4. Nel campo Nome, inserisci un nome, ad esempio SN-PC-Source-01-01-2024.
        5. Inserisci il nome del database di destinazione nel campo Database, ad esempio datafusiondb.

      Connessione riutilizzabile

      Per riutilizzare una connessione esistente:

      1. Attiva Usa connessione.
      2. Fai clic su Browse connections (Sfoglia connessioni).
      3. Fai clic sul nome della connessione.

      4. (Facoltativo) Se non esiste una connessione e vuoi crearne una nuova riutilizzabile, fai clic su Aggiungi connessione e segui i passaggi descritti nella scheda Nuova connessione di questa pagina.

    3. Nel campo Query di importazione, inserisci una query utilizzando i nomi dello schema e della tabella dell'origine Redshift, ad esempio Select * from "public"."users".

    4. (Facoltativo) Inserisci le proprietà Avanzate, ad esempio una query di delimitazione o il numero di suddivisioni. Per tutte le descrizioni delle proprietà, consulta Proprietà.

  6. (Facoltativo) Fai clic su Convalida e correggi gli eventuali errori rilevati.

  7. Fai clic su Chiudi. Le proprietà vengono salvate e puoi continuare a creare la pipeline di dati nell'interfaccia web di Cloud Data Fusion.

Proprietà

Proprietà Supporta le macro per l'automazione Proprietà obbligatoria Descrizione
Etichetta No Il nome del nodo nella pipeline di dati.
Utilizzare la connessione No No Cerca una connessione all'origine. Se Usa connessione è attivata, non è necessario fornire le credenziali.
Connessione Il nome della connessione da utilizzare. Se è selezionata l'opzione Usa connessione, viene visualizzato questo campo. Le informazioni sul database e sulle tabelle vengono fornite dalla connessione.
Nome del driver JDBC Nome del driver JDBC da utilizzare. Se l'opzione Usa connessione non è selezionata, viene visualizzato questo campo.
Organizzatore L'endpoint del cluster Amazon Redshift. Se Utilizza connessione non è selezionato, viene visualizzato questo campo.
Port (Porta) No Porta su cui è in esecuzione Redshift. Se l'opzione Usa connessione non è selezionata, viene visualizzato questo campo.
Nome utente No Id utente per la connessione al database specificato. Se Utilizza connessione non è selezionato, viene visualizzato questo campo.
Password No La password da utilizzare per connettersi al database specificato. Se Utilizza connessione non è selezionato, viene visualizzato questo campo.
Argomenti di connessione No Un elenco di coppie chiave-valore di stringhe arbitrarie come argomenti di connessione. Questi argomenti vengono passati al driver JDBC come argomenti di connessione per i driver JDBC che potrebbero richiedere configurazioni aggiuntive. Se Utilizza connessione non è selezionato, viene visualizzato questo campo.
Nome di riferimento No Identifica in modo univoco questa origine per la cronologia, l'annotazione dei metadati e altri servizi.
Database Nome del database Redshift. Per selezionare i dati, fai clic su Sfoglia database.
Query di importazione La query SELECT da utilizzare per importare i dati dalla tabella specificata.
Query di delimitazione No Query SQL che restituisce i valori minimo e massimo del campo splitBy. Ad esempio, SELECT MIN(id),MAX(id) FROM table. Non obbligatorio se numSplits è impostato su 1.
Dividi colonna No Nome del campo utilizzato per generare le suddivisioni. Non obbligatorio se numSplits è impostato su 1.
Numero di suddivisioni No Numero di suddivisioni da generare.
Dimensioni No Il numero di righe da recuperare alla volta per suddivisione. Una dimensione di recupero più grande può comportare un'importazione più rapida, con il compromesso di un utilizzo della memoria più elevato. Se non specificato, il valore predefinito è 1000.

Mappature dei tipi di dati

La tabella seguente è un elenco dei tipi di dati Redshift con i tipi CDAP corrispondenti:

Tipo di dati Redshift Tipo di dati dello schema CDAP
bigint long
boolean boolean
character string
character varying string
date date
double precision double
geometry bytes
hllsketch string
integer int
json string
numeric(precisione, scala)/decimal(precisione, scala) decimal
numeric con precisione 0 string
real float
smallint int
super string
text string
time [ (p) ] senza fuso orario time
time [ (p) ] con fuso orario string
timestamp [ (p) ] senza fuso orario timestamp
timestamp [ (p) ] con fuso orario timestamp
varbyte byte
xml string

Best practice

Le seguenti best practice si applicano quando ti connetti a un cluster Redshift da Google Cloud.

Utilizzare le liste consentite di indirizzi IP

Per impedire l'accesso da origini non autorizzate e limitare l'accesso a indirizzi IP specifici, attiva i controlli di accesso sul cluster Redshift.

Se utilizzi i controlli di accesso Redshift, per accedere al cluster in Cloud Data Fusion:

  1. Ottieni gli indirizzi IP esterni dei servizi o delle macchine suGoogle Cloud che devono connettersi al cluster Redshift, ad esempio l'indirizzo IP del server proxy (vedi Visualizzazione degli indirizzi IP). Per i cluster Dataproc, ottieni gli indirizzi IP di tutti i nodi master e secondari.
  2. Aggiungi gli indirizzi IP a una lista consentita nei gruppi di sicurezza creando le regole in entrata per gli indirizzi IP delle macchine. Google Cloud

  3. Aggiungi le proprietà di connessione in Wrangler e testale:

    1. Apri l'istanza Cloud Data Fusion nell'interfaccia web.
    2. Fai clic su Wrangler > Aggiungi connessione e crea la nuova connessione per Redshift.
    3. Inserisci tutte le proprietà di connessione.
    4. Fai clic su Test connection (Verifica connessione) e risolvi eventuali problemi.

Per creare più suddivisioni, utilizza le query di confine

Per più suddivisioni, utilizza le query di confine per gestire il cluster multi-nodo. Nei scenari in cui estrai i dati da Redshift e distribuisci il carico in modo uniforme su ogni nodo, configura una query di confine nelle proprietà del connettore dell'origine Redshift.

  1. Nella pipeline Cloud Data Fusion, nella pagina Studio, vai al nodo Redshift e fai clic su Proprietà.
  2. Nelle proprietà Avanzate, specifica quanto segue:

    1. Inserisci il numero di suddivisioni da creare.
    2. Inserisci la dimensione del recupero per ogni suddivisione.
    3. Inserisci una query di contenimento da applicare al cluster Redshift multi-nodo.
    4. Inserisci il nome del campo Colonna divisa.

Ad esempio, supponiamo di avere il seguente caso d'uso:

  • Hai una tabella contenente 10 milioni di record.
  • Ha una colonna ID univoco denominata id.
  • Il cluster Redshift ha 4 nodi.
  • Obiettivo: per sfruttare il potenziale del cluster, prevedi di generare più suddivisioni. Per farlo, utilizza le seguenti configurazioni della proprietà:

    • Nel campo Query di delimitazione, inserisci la seguente query:

      SELECT MIN(id), MAX(id) FROM tableName
      

      In questa query, id è il nome della colonna in cui vengono applicati gli split.

    • Nel campo Colonna da suddividere, inserisci il nome della colonna, id.

    • Inserisci il numero di suddivisioni e le dimensioni del recupero. Queste proprietà sono collegate tra loro, il che ti consente di calcolare le suddivisioni in base a una dimensione di recupero o viceversa. Per questo esempio, inserisci quanto segue.

    • Nel campo Numero di suddivisioni, inserisci 40. In questo esempio, in cui la tabella contiene dieci milioni di record, la creazione di 40 suddivisioni comporta che ogni suddivisione contenga 250.000 record.

    • Nel campo Dimensione recupero, inserisci 250,000.

Passaggi successivi