View a markdown version of this page

Connessioni Vertica - AWS Aderenza

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à.

Connessioni Vertica

Puoi usare AWS Glue for Spark per leggere e scrivere su tabelle in Vertica in AWS Glue 4.0 e versioni successive. È possibile definire cosa leggere da Vertica con una query SQL. Ti connetti a Vertica utilizzando le credenziali di nome utente e password memorizzate AWS Secrets Manager tramite una connessione Glue. AWS

Per ulteriori informazioni su Vertica, consulta la documentazione di Vertica.

Configurazione delle connessioni Vertica

Per connetterti a Vertica da AWS Glue, dovrai creare e archiviare le tue credenziali Vertica in un AWS Secrets Manager segreto, quindi associare quel segreto a una connessione Vertica Glue. AWS Se la tua istanza Vertica si trova in un Amazon VPC, dovrai anche fornire opzioni di rete alla tua connessione Glue Vertica. AWS Ti servirà un bucket o una cartella Amazon S3 da utilizzare per l'archiviazione temporanea durante la lettura e la scrittura sul database.

Per connetterti a Vertica da AWS Glue, avrai bisogno di alcuni prerequisiti:

  • Un bucket o una cartella Amazon S3 da utilizzare per l'archiviazione temporanea durante la lettura e la scrittura nel database, a cui fa riferimento. tempS3Path

    Nota

    Quando si utilizza Vertica nelle anteprime dei dati dei lavori di AWS Glue, i file temporanei potrebbero non essere rimossi automaticamente. tempS3Path Per garantire la rimozione dei file temporanei, interrompi direttamente la sessione di anteprima dei dati scegliendo Termina sessione nel riquadro Anteprima dei dati.

    Se non sei in grado di terminare direttamente la sessione di anteprima dei dati, valuta la possibilità di impostare la configurazione del ciclo di vita di Amazon S3 per rimuovere i dati obsoleti. Consigliamo di rimuovere i dati più vecchi di 49 ore, in base al runtime massimo del processo in aggiunta a un margine. Per ulteriori informazioni sulla configurazione del ciclo di vita di Amazon S3, consulta Gestione del ciclo di vita dello storage nella documentazione di Amazon S3.

  • Una policy IAM con le autorizzazioni appropriate per il tuo percorso Amazon S3 che puoi associare al tuo AWS ruolo lavorativo in Glue.

  • Se la tua istanza Vertica si trova in un Amazon VPC, configura Amazon VPC per consentire al tuo job AWS Glue di comunicare con l'istanza Vertica senza che il traffico attraversi la rete Internet pubblica.

    In Amazon VPC, identifica o crea un VPC, una sottorete e un gruppo di sicurezza che Glue utilizzerà durante l'esecuzione del job. AWS Inoltre, assicurati che Amazon VPC sia configurato per consentire il traffico di rete tra l'istanza Vertica e questa posizione. Il tuo processo dovrà stabilire una connessione TCP con la tua porta del client Vertica, (per impostazione predefinita, 5433). In base al layout di rete, potrebbero essere necessarie modifiche alle regole dei gruppi di sicurezza, alle liste di controllo accessi di rete, ai gateway NAT e alle connessioni peering.

Puoi quindi procedere alla configurazione di AWS Glue per l'uso con Vertica.

Per configurare una connessione a Vertica:
  1. In AWS Secrets Manager, crea un segreto utilizzando le tue credenziali Vertica e. verticaUsername verticaPassword Per creare un segreto in Secrets Manager, segui il tutorial disponibile in Crea un AWS Secrets Manager segreto nella AWS Secrets Manager documentazione. Dopo aver creato il segreto, mantieni il nome del segreto, secretName per il passaggio successivo.

    • Quando selezioni Key/value le coppie, crea una coppia per la chiave user con il valoreverticaUsername.

    • Quando selezionate Key/value le coppie, create una coppia per la chiave password con il valoreverticaPassword.

  2. Nella console AWS Glue, create una connessione seguendo i passaggi indicati inAggiungere una AWS Glue connessione. Dopo aver creato la connessione, mantieni il nome della connessioneconnectionName, per il passaggio successivo.

    • In Tipo di connessione, seleziona Vertica.

    • In Host Vertica, fornisci il nome host dell'installazione Vertica.

    • In Porta Vertica, indica la porta tramite cui è disponibile l'installazione di Vertica.

    • Quando selezioni un AWS segreto, forniscisecretName.

  3. Nelle seguenti situazioni, potresti aver bisogno di una configurazione aggiuntiva:

    • Per le istanze Vertica ospitate su un AWS Amazon VPC

      • Fornisci le informazioni sulla connessione Amazon VPC alla connessione AWS Glue che definisce le tue credenziali di sicurezza Vertica. Durante la creazione o l'aggiornamento della connessione, imposta VPC, sottorete e Gruppi di sicurezza nelle opzioni di rete.

Dopo aver creato una connessione AWS Glue Vertica, dovrai eseguire i seguenti passaggi prima di chiamare il tuo metodo di connessione.

  • Concedi il ruolo IAM associato ai permessi di lavoro di AWS Glue a. tempS3Path

  • Concedi il permesso di lettura secretName al ruolo IAM associato al tuo lavoro AWS Glue.

  • Nella configurazione del job AWS Glue, connectionName forniscilo come connessione di rete aggiuntiva.

Lettura da Vertica

Prerequisiti:

  • Una tabella Vertica da cui si desidera leggere. Avrai bisogno del nome del database Vertica dbName e del nome della tabella. tableName

  • Una connessione AWS Glue Vertica configurata per fornire informazioni di autenticazione. Completa i passaggi della procedura precedente, Per configurare una connessione a Vertica per configurare le informazioni di autenticazione. Avrai bisogno del nome della connessione AWS Glue,. connectionName

  • Un bucket o una cartella Amazon S3 da utilizzare per lo storage temporaneo, menzionato in precedenza. Avrai bisogno del nome,tempS3Path. Dovrai connetterti a questa posizione utilizzando il protocollo s3a.

Ad esempio:

dynamicFrame = glueContext.create_dynamic_frame.from_options( connection_type="vertica", connection_options={ "connectionName": "connectionName", "staging_fs_url": "s3a://tempS3Path", "db": "dbName", "table": "tableName", } )

Puoi anche fornire una query SQL SELECT, per filtrare i risultati restituiti DynamicFrame o per accedere a un set di dati da più tabelle.

Ad esempio:

dynamicFrame = glueContext.create_dynamic_frame.from_options( connection_type="vertica", connection_options={ "connectionName": "connectionName", "staging_fs_url": "s3a://tempS3Path", "db": "dbName", "query": "select * FROM tableName", }, )

Scrittura su tabelle Vertica

Questo esempio scrive informazioni da un file esistente DynamicFrame dynamicFrame a Vertica. Se la tabella contiene già informazioni, AWS Glue aggiungerà i dati del tuo. DynamicFrame

Prerequisiti:

  • Un nome di tabella attuale o desiderato su cui desideri scrivere. tableName Avrai anche bisogno del nome del database Vertica corrispondente,dbName.

  • Una connessione AWS Glue Vertica configurata per fornire informazioni di autenticazione. Completa i passaggi della procedura precedente, Per configurare una connessione a Vertica per configurare le informazioni di autenticazione. Avrai bisogno del nome della connessione AWS Glue,. connectionName

  • Un bucket o una cartella Amazon S3 da utilizzare per lo storage temporaneo, menzionato in precedenza. Avrai bisogno del nome,tempS3Path. Dovrai connetterti a questa posizione utilizzando il protocollo s3a.

Ad esempio:

glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type="vertica", connection_options={ "connectionName": "connectionName", "staging_fs_url": "s3a://tempS3Path", "db": "dbName", "table": "tableName", } )

Indicazioni di riferimento alle opzioni di connessione a Vertica

  • connectionName: obbligatorio. Usato per Read/Write. Il nome di una connessione AWS Glue Vertica configurata per fornire informazioni di autenticazione e di rete al metodo di connessione utilizzato.

  • db: obbligatorio. Usato per. Read/Write Il nome dell'indice in Vertica con cui interagirà il metodo di connessione.

  • dbSchema — Obbligatorio se necessario per identificare la tabella. Usato per Read/Write. Default: public. Il nome di uno schema con cui interagirà il metodo di connessione.

  • table — Richiesto per la scrittura, richiesto per la lettura a meno che non query sia fornito. Usato per Read/Write. Il nome di una tabella con cui interagirà il metodo di connessione.

  • query: utilizzato per la lettura. Una query SELECT SQL che definisce cosa recuperare durante la lettura da Teradata.

  • staging_fs_url: obbligatorio. Usato per Read/Write. Valori validi: URL s3a. L'URL di un bucket o di una cartella Amazon S3 da utilizzare per l'archiviazione temporanea.