Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Connexions Teradata Vantage NOS
La connexion Teradata NOS (Native Object Store) est une nouvelle connexion pour Teradata Vantage qui utilise la requête Teradata WRITE_NOS pour lire des tables existantes et la requête READ_NOS pour écrire dans des tables. Ces requêtes utilisent Amazon S3 comme répertoire intermédiaire. Le connecteur Teradata NOS est donc plus rapide que le connecteur Teradata existant (basé sur JDBC), surtout lorsqu’il s’agit de gérer de grandes quantités de données.
Vous pouvez utiliser la connexion Teradata NOS dans Spark AWS Glue pour lire et écrire dans des tables existantes dans Teradata Vantage dans les AWS Glue versions 5.0 et ultérieures. Vous pouvez définir ce qu'il faut lire dans Teradata à l'aide d'une requête SQL. Vous pouvez vous connecter à Teradata à l'aide des identifiants de nom d'utilisateur et de mot de passe enregistrés AWS Secrets Manager via une AWS Glue connexion.
Pour plus d’informations sur Teradata, veuillez consulter la documentation Teradata
Rubriques
Création d’une connexion Teradata NOS
Pour vous connecter à Teradata NOS depuis AWS Glue, vous devez créer et stocker vos informations d'identification Teradata dans un AWS Secrets Manager secret, puis associer ce secret à une connexion AWS Glue Teradata NOS. Si votre instance Teradata se trouve dans un Amazon VPC, vous devrez également fournir des options réseau à AWS Glue votre connexion Teradata NOS.
Prérequis :
-
Si vous accédez à votre environnement Teradata via Amazon VPC, configurez Amazon VPC pour permettre à AWS Glue votre tâche de communiquer avec l'environnement Teradata. Nous vous déconseillons d'accéder à l'environnement Teradata via l'Internet public.
-
Dans Amazon VPC, identifiez ou créez un VPC, un sous-réseau et un groupe de sécurité qui AWS Glue seront utilisés lors de l'exécution de la tâche. En outre, vous devez vous assurer qu'Amazon VPC est configuré pour autoriser le trafic réseau entre votre instance Teradata et cet emplacement. Votre tâche devra établir une connexion TCP avec votre port client Teradata. Pour plus d’informations sur les ports Teradata, consultez Security Groups for Teradata Vantage
. -
Selon la configuration de votre réseau, la connectivité VPC sécurisée peut nécessiter des modifications dans Amazon VPC et dans d'autres services réseau. Pour plus d'informations sur AWS la connectivité, consultez la section Options de AWS connectivité
dans la documentation Teradata.
Pour configurer une connexion AWS Glue Teradata NOS :
-
Dans votre configuration Teradata, identifiez ou créez un
teradataUsernameet auquelteradataPasswordAWS Glue vous vous connecterez. Pour plus d’informations, consultez Vantage Security Overviewdans la documentation Teradata. -
Dans AWS Secrets Manager, créez un secret à l'aide de vos informations d'identification Teradata. Pour créer un secret dans AWS Secrets Manager, suivez le didacticiel disponible dans la section Créer un AWS Secrets Manager secret dans la AWS Secrets Manager documentation. Après avoir créé le secret, conservez le nom du secret
secretNamepour l'étape suivante.-
Lorsque vous sélectionnez des Key/value paires, créez une paire pour la clé USERNAME avec la valeur
teradataUsername. -
Lorsque vous sélectionnez des Key/value paires, créez une paire pour la clé PASSWORD avec la valeur
teradataPassword.
-
-
Dans la AWS Glue console, créez une connexion en suivant les étapes décrites dans Ajouter une AWS Glue connexion. Après avoir créé la connexion, conservez le nom de la connexion pour l'étape suivante.
connectionName-
Lorsque vous sélectionnez un type de connexion, sélectionnez Teradata Vantage NOS.
-
Lorsque vous fournissez l'URL JDBC, indiquez l'URL de votre instance. Vous pouvez également coder en dur certains paramètres de connexion séparés par des virgules dans votre URL JDBC. L'URL doit être conforme au format suivant :
jdbc:teradata://teradataHostname/ParameterName=ParameterValue,ParameterName=ParameterValue. -
Les paramètres d'URL pris en charge sont les suivants :
-
DATABASE– nom de la base de données sur l'hôte à laquelle accéder par défaut. -
DBS_PORT– le port de base de données utilisé lors de l'exécution sur un port non standard.
-
-
Lorsque vous sélectionnez un type d'identifiant, sélectionnez AWS Secrets Manager, puis définissez AWS Secret sur
secretName.
-
-
Dans les situations suivantes, vous pouvez avoir besoin d'une configuration supplémentaire :
-
Pour les instances Teradata AWS hébergées sur un Amazon VPC, vous devrez fournir les informations de connexion Amazon VPC à AWS Glue la connexion qui définit vos informations de sécurité Teradata. Lorsque vous créez ou mettez à jour votre connexion, définissez le VPC, le sous-réseau et les groupes de sécurité dans les options réseau.
-
Après avoir créé une connexion AWS Glue Teradata Vantage NOS, vous devez effectuer les étapes suivantes avant d'appeler votre méthode de connexion.
-
Accordez au rôle IAM associé à votre AWS Glue travail l'autorisation de lire
secretName. -
Dans la configuration de votre AWS Glue tâche,
connectionNameindiquez une connexion réseau supplémentaire sous Connexions.
Lecture à partir de tables Teradata
Prérequis :
-
Une table Teradata à partir de laquelle vous souhaitez lire. Vous aurez besoin du nom de la table,
tableName. -
L'environnement Teradata dispose d'un accès en écriture au chemin Amazon S3 spécifié par l'
staging_fs_urloption,stagingFsUrl. -
Le rôle IAM associé à la AWS Glue tâche dispose d'un accès en écriture à l'emplacement Amazon S3 spécifié par
staging_fs_urloption. -
Une connexion AWS Glue Teradata NOS configurée pour fournir des informations d'authentification. Suivez la procédure Pour configurer une connexion AWS Glue Teradata NOS : pour configurer vos informations d’authentification. Vous aurez besoin du nom de la AWS Glue connexion,
connectionName.
Exemple :
teradata_read_table = glueContext.create_dynamic_frame.from_options( connection_type="teradatanos", connection_options={ "connectionName":"connectionName", "dbtable":"tableName", "staging_fs_url":"stagingFsUrl"} )
Vous pouvez également fournir une requête SQL SELECT pour filtrer les résultats renvoyés à votre DynamicFrame. Vous devrez configurer query. Si vous configurez à la fois dbTable et query, le connecteur ne parvient pas à lire les données. Par exemple :
teradata_read_query = glueContext.create_dynamic_frame.from_options( connection_type="teradatanos", connection_options={ "connectionName":"connectionName", "query":"query", "staging_fs_url":"stagingFsUrl"} )
En outre, vous pouvez utiliser l' DataFrame API Spark pour lire des tables Teradata. Par exemple :
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()
Écrire dans les tables Teradata
Conditions préalables
-
Une table Teradata dans laquelle vous souhaitez écrire :
tableName. -
L'environnement Teradata dispose d'un accès en lecture à l'emplacement Amazon S3 spécifié par l'
staging_fs_urloption,stagingFsUrl. -
Le rôle IAM associé à la AWS Glue tâche dispose d'un accès en écriture à l'emplacement Amazon S3 spécifié par
staging_fs_urloption. -
Une connexion AWS Glue Teradata configurée pour fournir des informations d'authentification. Suivez la procédure indiquée dans Pour configurer une connexion AWS Glue Teradata NOS : pour configurer vos informations d’authentification. Vous aurez besoin du nom de la AWS Glue connexion,
connectionName.Par exemple :
teradata_write = glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type="teradatanos", connection_options={ "connectionName":"connectionName", "dbtable":"tableName", "staging_fs_url":"stagingFsUrl"} )
Référence des options de connexion Teradata
Options de connexion et d’opération :
-
connectionName— Obligatoire. Utilisé pour la lecture/l'écriture. Nom d'une connexion AWS Glue Teradata configurée pour fournir des informations d'authentification et de mise en réseau à votre méthode de connexion. -
staging_fs_url— Obligatoire. Utilisé pour la lecture/l'écriture. Emplacement accessible en écriture dans Amazon S3, à utiliser pour les données déchargées lors de la lecture depuis Teradata, et pour les données Parquet à charger dans Redshift lors de l’écriture sur Teradata. Le compartiment S3 doit se trouver dans la même région que celle de vos AWS Glue tâches. -
dbtable— obligatoire pour l'écriture, obligatoire pour la lecture à moins qu'unequeryne soit fournie. Utilisé pour la lecture/l'écriture. Le nom de la table avec lequelle votre méthode de connexion va interagir. -
query: utilisé pour la lecture. Une requête SELECT SQL définissant ce qui doit être récupéré lors de la lecture à partir de Teradata. Vous ne pouvez pas réussir si l’optiondbtableest fournie. -
clean_staging_s3_dir— Facultatif. Utilisé pour la lecture/l'écriture. Si la valeur est true, nettoyez les objets Amazon S3 intermédiaires après une lecture ou une écriture. La valeur par défaut est True. -
pre_actions— Facultatif. Utilisé pour écrire. Liste séparée par des points-virgules des commandes SQL exécutées avant le transfert des données entre Spark et Teradata Vantage. -
post_actions— Facultatif. Utilisé pour écrire. Liste séparée par des points-virgules des commandes SQL exécutées après le transfert des données entre Spark et Teradata Vantage. -
truncate— Facultatif. Utilisé pour écrire. Si la valeur est true, le connecteur tronque la table lors de l’écriture en mode de réécriture. Si la valeur est false, le connecteur supprime la table lors de l’écriture en mode de réécriture. La valeur par défaut est false. -
create_table_script— Facultatif. Utilisé pour écrire. Une instruction SQL pour créer une table lors de l’écriture sur Teradata Vantage. Cette option est utile lorsque vous souhaitez créer une table avec des métadonnées personnalisées (par exemple, table CREATE MULTISET ou SET ou modifier l’index principal). Notez que le nom de table utilisé dans le script de création de table doit correspondre au nom de table spécifié dans l’optiondbtable. -
partition_size_in_mb— Facultatif. Utilisé pour la lecture. Taille maximale d’une partition Spark en mégaoctets lors de la lecture d’objets Amazon S3 intermédiaires. La valeur par défaut est 128.
Vous pouvez fournir des options avancées lors de la création d’un nœud Teradata. Ces options sont les mêmes que celles disponibles lors de la programmation AWS Glue de scripts Spark.
Consultez Connexions Teradata Vantage.
Options d’autorisation :
Vous trouverez ci-dessous les options utilisées pour fournir les informations d'identification du AWS compte que le connecteur utilise pour accéder au compartiment Amazon S3 intermédiaire. Vous pouvez choisir (1) de ne fournir aucune option d'autorisation et d'utiliser des informations d'identification temporaires générées à partir de votre rôle d' AWS Glue exécution ; ou (2) de fournir un objet d'autorisation auth_object que vous avez créé ; ou (3) de le fournir aws_access_key_id and aws_secret_access_key si vous utilisez des informations d'identification à long terme, ou de fournir aws_access_keyaws_secret_access_key, et aws_session_token si vous utilisez des informations d'identification temporaires.
-
auth_object: facultatif. Utilisé pour accéder au compartiment Amazon S3 intermédiaire. Chaîne d’objets d’autorisation créée dans une instance Teradata. Si elle est fournie, le connecteur utilisera cet objet d’autorisation pour accéder au compartiment Amazon S3 intermédiaire. Si elles ne sont pas fournies,aws_access_key_idet qu'elles ne leaws_secret_access_keysont pas non plus, une information d'identification temporaire sera extraite du rôle AWS Glue d'exécution et utilisée par le connecteur. Le AWS compte associé à cet objet d'autorisation doit se trouver dans la même région que vos AWS Glue tâches et votre compartiment Amazon S3 intermédiaire ou être configuré avec la confiance entre comptes. -
aws_access_key_id: facultatif. Utilisé pour accéder au compartiment Amazon S3 intermédiaire. Fait partie des informations d'identification de sécurité d'un AWS compte. Siauth_objectn’est pas fourni et siaws_access_key_idest fourni avecaws_secret_access_key, le connecteur les utilisera pour accéder au compartiment Amazon S3 intermédiaire. Le AWS compte associé à cette clé d'accès doit se trouver dans la même région que vos AWS Glue tâches et votre compartiment Amazon S3 intermédiaire ou être configuré avec la confiance entre comptes. -
aws_secret_access_key: facultatif. Utilisé pour accéder au compartiment Amazon S3 intermédiaire. Fait partie des informations d'identification de sécurité d'un AWS compte. Siauth_objectn’est pas fourni et siaws_secret_access_keyest fourni avecaws_access_key_id, le connecteur les utilisera pour accéder au compartiment Amazon S3 intermédiaire. Le AWS compte associé à cette clé secrète doit se trouver dans la même région que vos AWS Glue tâches et votre compartiment Amazon S3 intermédiaire ou être configuré avec la confiance entre comptes. -
aws_session_token: facultatif. Utilisé pour accéder au compartiment Amazon S3 intermédiaire. Fait partie d'un identifiant de sécurité temporaire d'un AWS compte. Doit être fourni avecaws_access_key_idetaws_secret_access_key.
Fournir des options dans l'interface utilisateur AWS Glue Visual ETL
Vous pouvez indiquer toutes les options ci-dessus dans l’interface utilisateur de votre tâche ETL visuel. Pour l’option connectionName, vous devez choisir dans la liste déroulante des connexions Teradata Vantage NOS. Pour toutes les autres options, vous devez les fournir via les propriétés personnalisées de Teradata Vantage NOS sous forme de paires clé-valeur.