View a markdown version of this page

Connessioni Teradata Vantage NOS - AWS Glue

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 Teradata Vantage NOS

La connessione Teradata NOS (Native Object Store) è una nuova connessione per Teradata Vantage che sfrutta la query Teradata WRITE_NOS per leggere dalle tabelle esistenti e la query READ_NOS per scrivere nelle tabelle. Queste query usano Amazon S3 come directory di staging e, pertanto, il connettore Teradata NOS è più veloce del connettore Teradata esistente (basato su JDBC), specialmente nella gestione di grandi quantità di dati.

È possibile utilizzare la connessione Teradata NOS in Spark AWS Glue per leggere e scrivere su tabelle esistenti in Teradata Vantage nella versione 5.0 e successive. AWS Glue È possibile definire cosa leggere da Teradata con una query SQL. È possibile connettersi a Teradata utilizzando le credenziali di nome utente e password memorizzate tramite una connessione. Gestione dei segreti AWS AWS Glue

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

Creazione di una connessione Teradata NOS

Per connettersi a Teradata NOS da AWS Glue, è necessario creare e archiviare le credenziali Teradata in un luogo Gestione dei segreti AWS segreto, quindi associare tale segreto a una connessione Teradata NOS. AWS Glue Se l'istanza Teradata si trova in un Amazon VPC, sarà inoltre necessario fornire opzioni di rete alla connessione Teradata NOS. AWS Glue

Prerequisiti:

  • Se accedi al tuo ambiente Teradata tramite Amazon VPC, configura Amazon VPC per consentire al tuo AWS Glue job di comunicare con l'ambiente Teradata. Sconsigliamo l'accesso all'ambiente Teradata tramite la rete Internet pubblica.

  • In Amazon VPC, identifica o crea un VPC, una sottorete e un gruppo di sicurezza da utilizzare durante l'esecuzione del AWS Glue lavoro. Inoltre, assicurati che Amazon VPC sia configurato per consentire il traffico di rete tra l'istanza Teradata e questa posizione. Il tuo processo dovrà stabilire una connessione TCP con la tua porta del client Teradata. Per maggiori informazioni sulle porte Teradata, consulta i Gruppi di sicurezza per Teradata Vantage.

  • In base al layout di rete, la connettività VPC sicura potrebbe richiedere modifiche ad Amazon VPC e ad altri servizi di rete. Per ulteriori informazioni sulla AWS connettività, consulta Opzioni di AWS connettività nella documentazione di Teradata.

Per configurare una connessione AWS Glue Teradata NOS:

  1. Nella configurazione Teradata, identifica o crea un teradataUsername e teradataPassword AWS Glue con cui ti connetterai. Per ulteriori informazioni, consulta Panoramica sulla sicurezza di Vantage nella documentazione di Teradata.

  2. Nel Gestione dei segreti AWS, crea un segreto usando le tue credenziali Teradata. Per creare un segreto in Gestione dei segreti AWS, segui il tutorial disponibile in Creare un Gestione dei segreti AWS segreto nella documentazione. Gestione dei segreti AWS 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 USERNAME con il valoreteradataUsername.

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

  3. Nella AWS Glue console, crea una connessione seguendo i passaggi descritti in Aggiungere una AWS Glue connessione. Dopo aver creato la connessione, mantieni il nome della connessione per il passaggio successivo. connectionName

    • In Tipo di connessione, seleziona Teradata Vantage NOS.

    • Quando fornisci JDBC URL, fornisci l'URL per la tua istanza. Puoi anche codificare determinati parametri di connessione, separati da virgole, nel tuo URL JDBC. L'URL deve essere conforme al seguente formato: jdbc:teradata://teradataHostname/ParameterName=ParameterValue,ParameterName=ParameterValue .

    • I parametri URL supportati includono:

      • DATABASE: nome del database sull'host a cui accedere per impostazione predefinita.

      • DBS_PORT: la porta del database, utilizzata con una porta non standard.

    • Quando selezioni un tipo di credenziale, seleziona Gestione dei segreti AWS, quindi imposta AWS Segreto su. secretName

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

    • Per le istanze Teradata ospitate su AWS un Amazon VPC, dovrai fornire le informazioni di connessione Amazon VPC alla connessione che definisce le tue credenziali di sicurezza Teradata AWS Glue . 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 Teradata Vantage NOS, dovrai eseguire i seguenti passaggi prima di chiamare il metodo di connessione.

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

  2. Nella configurazione del tuo AWS Glue lavoro, fornisci connectionName come connessione di rete aggiuntiva in Connessioni.

Lettura da tabelle Teradata

Prerequisiti:

  • Una tabella Teradata da cui si desidera leggere. Avrai bisogno del nome della tabella,tableName.

  • L'ambiente Teradata ha accesso in scrittura al percorso Amazon S3 specificato staging_fs_url dall'opzione,. stagingFsUrl

  • Il ruolo IAM associato al AWS Glue job ha accesso in scrittura alla posizione Amazon S3 specificata dall'staging_fs_urlopzione.

  • Una connessione AWS Glue Teradata NOS configurata per fornire informazioni di autenticazione. Completa i passaggi descritti in Per configurare una connessione AWS Glue Teradata NOS: per configurare le tue informazioni di autenticazione. Avrai bisogno del nome della connessione,. AWS Glue connectionName

Esempio:

teradata_read_table = glueContext.create_dynamic_frame.from_options( connection_type= "teradatanos", connection_options={ "connectionName": "connectionName", "dbtable": "tableName", "staging_fs_url": "stagingFsUrl" } )

Puoi anche fornire una query SQL SELECT, per filtrare i risultati restituiti al tuo DynamicFrame. Dovrai configurare la query. Se configuri sia dbTable che la query, il connettore non riesce a leggere i dati. Esempio:

teradata_read_query = glueContext.create_dynamic_frame.from_options( connection_type="teradatanos", connection_options={ "connectionName": "connectionName", "query": "query", "staging_fs_url": "stagingFsUrl" } )

Inoltre, è possibile utilizzare l' DataFrame API Spark per leggere le tabelle Teradata. Esempio:

options = { "url": "JDBC_URL", "dbtable": "tableName", "user": "teradataUsername", # or use "username" as key here "password": "teradataPassword", "staging_fs_url": "stagingFsUrl" } teradata_read_table = spark.read.format("teradatanos").option(**options).load()

Scrittura su tabelle Teradata

Prerequisiti

  • Una tabella Teradata su cui desideri scrivere:. tableName

  • L'ambiente Teradata ha accesso in lettura alla posizione Amazon S3 specificata staging_fs_url dall'opzione,. stagingFsUrl

  • Il ruolo IAM associato al AWS Glue job ha accesso in scrittura alla posizione Amazon S3 specificata dall'staging_fs_urlopzione.

  • Una connessione AWS Glue Teradata configurata per fornire informazioni di autenticazione. Completa i passaggi descritti in Per configurare una connessione AWS Glue Teradata NOS: per configurare le tue informazioni di autenticazione. Avrai bisogno del nome della connessione,. AWS Glue connectionName

    Esempio:

    teradata_write = glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type= "teradatanos", connection_options={ "connectionName": "connectionName", "dbtable": "tableName", "staging_fs_url": "stagingFsUrl" } )

Indicazioni di riferimento alle opzioni di connessione a Teradata

Opzioni di connessione e funzionamento:

  • connectionName: obbligatorio. Utilizzato per la lettura/scrittura. Il nome di una connessione AWS Glue Teradata configurata per fornire informazioni di autenticazione e di rete al metodo di connessione utilizzato.

  • staging_fs_url: obbligatorio. Utilizzato per la lettura/scrittura. Una posizione scrivibile in Amazon S3, da usare per i dati scaricati durante la lettura da Teradata e per i dati Parquet da caricare in Redshift durante la scrittura su Teradata. Il bucket S3 deve trovarsi nella stessa regione della regione dei lavori. AWS Glue

  • dbtable — Richiesto per la scrittura, richiesto per la lettura a meno che non query sia fornito. Utilizzato per la lettura/scrittura. 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. Non è possibile passare se è specificata l'opzione dbtable.

  • clean_staging_s3_dir— Facoltativo. Utilizzato per la lettura/scrittura. Se impostato su true, pulisce gli oggetti Amazon S3 di staging dopo una lettura o una scrittura. Il valore di default è true.

  • pre_actions— Facoltativo. Utilizzato per la scrittura. Elenco separato da punti e virgola dei comandi SQL eseguiti prima del trasferimento dei dati tra Spark e Teradata Vantage.

  • post_actions— Facoltativo. Utilizzato per la scrittura. Elenco separato da punti e virgola dei comandi SQL eseguiti dopo il trasferimento dei dati tra Spark e Teradata Vantage.

  • truncate— Facoltativo. Utilizzato per la scrittura. Se è impostato su true, il connettore tronca la tabella durante la scrittura in modalità di sovrascrittura. Se è impostato su false, il connettore elimina la tabella durante la scrittura in modalità di sovrascrittura. Il valore predefinito è false.

  • create_table_script— Facoltativo. Utilizzato per la scrittura. Istruzione SQL per creare una tabella durante la scrittura su Teradata Vantage. Utile quando si vuole creare una tabella con metadati personalizzati (ad esempio tabella SET o CREATE MULTISET o modificare l'indice primario). Notare che il nome della tabella utilizzato nello script di creazione della tabella deve corrispondere al nome della tabella specificato nell'opzione dbtable.

  • partition_size_in_mb— Facoltativo. Utilizzato per la lettura. Dimensione massima di una partizione Spark in megabyte durante la lettura di oggetti Amazon S3 di staging. Il valore predefinito è 128.

È possibile fornire opzioni avanzate durante la creazione di un nodo Teradata. Queste opzioni sono le stesse disponibili durante la programmazione AWS Glue per gli script Spark.

Per informazioni, consulta Connessioni Teradata Vantage.

Opzioni di autorizzazione:

Di seguito sono elencate le opzioni utilizzate per fornire le credenziali dell' AWS account utilizzate dal connettore per accedere al bucket di staging Amazon S3. Puoi scegliere di (1) non fornire alcuna opzione di autorizzazione e utilizzare credenziali temporanee generate dal tuo ruolo di AWS Glue esecuzione; oppure (2) fornire un oggetto di autorizzazione creato da auth_object te; oppure (3) specificare se si utilizzano credenziali a lungo termine oppure fornire e aws_access_key_id and aws_secret_access_key se si utilizzano credenziali temporanee. aws_access_key aws_secret_access_key aws_session_token

  • auth_object : Opzionale. Usata per l'accesso al bucket Amazon S3 di staging Amazon S3. Una stringa di oggetti di autorizzazione creata nell'istanza Teradata. Se fornita, il connettore userà questo oggetto di autorizzazione per accedere al bucket Amazon S3 di staging. Se non viene fornita aws_access_key_id e aws_secret_access_key inoltre non viene fornita, una credenziale temporanea verrà recuperata dal ruolo di AWS Glue esecuzione e utilizzata dal connettore. L' AWS account associato a questo oggetto di autorizzazione deve trovarsi nella stessa regione dei tuoi AWS Glue job e del tuo bucket di staging Amazon S3 o deve essere configurato con cross-account trust.

  • aws_access_key_id : Opzionale. Usata per l'accesso al bucket Amazon S3 di staging Amazon S3. Parte di una credenziale di sicurezza dell' AWS account. Se auth_object non viene fornito e aws_access_key_id viene fornito con aws_secret_access_key, il connettore li userà per accedere al bucket Amazon S3 di staging. L' AWS account associato a questa chiave di accesso deve trovarsi nella stessa regione in cui AWS Glue lavori e nel bucket di staging Amazon S3 o deve essere configurato con cross-account trust.

  • aws_secret_access_key : Opzionale. Usata per l'accesso al bucket Amazon S3 di staging Amazon S3. Parte di una credenziale di sicurezza dell' AWS account. Se auth_object non viene fornito e aws_secret_access_key viene fornito con aws_access_key_id, il connettore li userà per accedere al bucket Amazon S3 di staging. L' AWS account associato a questa chiave segreta deve trovarsi nella stessa regione del tuo AWS Glue job e del tuo bucket di staging Amazon S3 o deve essere configurato con cross-account trust.

  • aws_session_token : Opzionale. Usata per l'accesso al bucket Amazon S3 di staging Amazon S3. Parte di una credenziale di sicurezza temporanea AWS dell'account. Dovrebbe essere fornita con aws_access_key_id e aws_secret_access_key.

Fornisci opzioni nell'interfaccia utente di AWS Glue Visual ETL

È possibile fornire tutte le opzioni sopra indicate nell'interfaccia utente del processo ETL visivo. Per quanto riguarda l'opzione ConnectionName, è necessario selezionarla dall'elenco a discesa delle connessioni Teradata Vantage NOS. Per tutte le altre opzioni, bisogna fornirle tramite le proprietà personalizzate di Teradata Vantage NOS come coppie chiave-valore.

Il riquadro della finestra mostra che è selezionata la connessione Teradata NOS Vantage.