Logo Zéphyrnet

Préparez et chargez des données Amazon S3 dans Teradata à l'aide d'AWS Glue via son connecteur natif pour Teradata Vantage | Services Web Amazon

Date :

Dans cet article, nous explorons comment utiliser le Colle AWS connecteur natif pour Teradata Vantage pour rationaliser les intégrations de données et libérer tout le potentiel de vos données.

Les entreprises comptent souvent sur Service de stockage simple Amazon (Amazon S3) pour stocker de grandes quantités de données provenant de diverses sources de données de manière rentable et sécurisée. Pour ceux qui utilisent Teradata pour l'analyse des données, les intégrations via le connecteur natif AWS Glue pour Teradata Vantage ouvrent de nouvelles possibilités. AWS Glue améliore la flexibilité et l'efficacité de la gestion des données, permettant aux entreprises d'intégrer de manière transparente leurs données, quel que soit leur emplacement, grâce aux capacités analytiques de Teradata. Ce nouveau connecteur élimine les obstacles techniques liés à la configuration, à la sécurité et à la gestion, permettant aux entreprises d'exporter ou d'importer sans effort leurs ensembles de données dans Teradata Vantage. En conséquence, les entreprises peuvent se concentrer davantage sur l’extraction d’informations significatives à partir de leurs données, plutôt que sur les subtilités de l’intégration des données.

AWS Glue est un service d'intégration de données sans serveur qui permet aux utilisateurs d'analyse de découvrir, préparer, déplacer et intégrer facilement des données provenant de plusieurs sources pour l'analyse, l'apprentissage automatique (ML) et le développement d'applications. Avec AWS Glue, vous pouvez découvrir et vous connecter à plus de 100 sources de données diverses et gérer vos données dans un catalogue de données centralisé. Vous pouvez créer, exécuter et surveiller visuellement des pipelines d'extraction, de transformation et de chargement (ETL) pour charger des données dans vos lacs de données.

Société Teradata est une plateforme de données multi-cloud connectée de premier plan pour l'analyse d'entreprise, dont l'objectif est d'aider les entreprises à utiliser toutes leurs données au sein d'une entreprise, à grande échelle. En tant que Compétence AWS en matière de données et d'analyse partenaire, Teradata propose une plateforme complète d'analyse et de données cloud, y compris pour le Machine Learning.

Présentation du connecteur natif AWS Glue pour Teradata Vantage

AWS Glue fournit une prise en charge de Teradata, accessible via les scripts AWS Glue Studio et AWS Glue ETL. Avec AWS Glue Studio, vous bénéficiez d'une interface visuelle qui simplifie le processus de connexion à Teradata et de création, d'exécution et de surveillance des tâches AWS Glue ETL. Pour les développeurs de données, cette prise en charge s'étend aux scripts AWS Glue ETL, dans lesquels vous pouvez utiliser Python ou Scala pour créer et gérer des tâches d'intégration et de transformation de données plus spécifiques.

Le connecteur natif AWS Glue pour Teradata Vantage vous permet de lire et d'écrire efficacement des données à partir de Teradata sans avoir besoin d'installer ou de gérer des bibliothèques de connecteurs. Vous pouvez ajouter Teradata à la fois comme source et cible dans l'interface visuelle sans code par glisser-déposer d'AWS Glue Studio ou utiliser le connecteur directement dans une tâche de script ETL AWS Glue.

Vue d'ensemble de la solution

Dans cet exemple, vous utilisez AWS Glue Studio pour enrichir et télécharger des données stockées sur Amazon S3 vers Teradata Vantage. Vous commencez par joindre les fichiers Événement et Lieu à partir du BILLET base de données. Ensuite, vous filtrez les résultats sur une seule région géographique. Enfin, vous téléchargez les données affinées sur Teradata Vantage.

L'ensemble de données TICKIT suit l'activité de vente du site Web fictif TICKIT, sur lequel les utilisateurs achètent et vendent des billets en ligne pour des événements sportifs, des spectacles et des concerts. Dans cet ensemble de données, les analystes peuvent identifier le mouvement des billets au fil du temps, les taux de réussite des vendeurs, ainsi que les événements, lieux et saisons les plus vendus.

Pour cet exemple, vous utilisez AWS Glue Studio pour développer un pipeline ETL visuel. Ce pipeline lira les données d'Amazon S3, effectuera des transformations, puis chargera les données transformées dans Teradata. Le diagramme suivant illustre cette architecture.

Présentation de la solution

À la fin de cet article, votre travail ETL visuel ressemblera à la capture d'écran suivante.

Flux de travail ETL visuel

Pré-requis

Pour cet exemple, vous devez avoir accès à un point de terminaison de base de données Teradata existant avec une accessibilité réseau depuis AWS et des autorisations pour créer des tables et charger et interroger des données.

AWS Glue a besoin d'un accès réseau à Teradata pour lire ou écrire des données. La manière dont cela est configuré dépend de l'endroit où votre Teradata est déployé et de la configuration réseau spécifique. Pour Teradata déployé sur AWS, vous devrez peut-être configurer Appairage de VPC or Lien privé AWS, groupes de sécurité et listes de contrôle d'accès réseau (NACL) pour permettre à AWS Glue de communiquer avec Teradata TCP manifeste. Si Teradata se trouve en dehors d'AWS, les services réseau tels que VPN de site à site AWS or AWS Direct Connect peut être requis. L'accès public à Internet n'est pas recommandé en raison des risques de sécurité. Si vous choisissez l'accès public, il est plus sûr d'exécuter la tâche AWS Glue dans un VPC derrière un passerelle NAT. Cette approche vous permet d'autoriser la liste d'une seule adresse IP pour le trafic entrant sur votre pare-feu réseau. Pour plus d'informations, reportez-vous à Sécurité de l'infrastructure dans AWS Glue.

Configurer Amazon S3

Chaque objet dans Amazon S3 est stocké dans un compartiment. Avant de pouvoir stocker des données dans Amazon S3, vous devez créer un compartiment S3 pour stocker les résultats. Effectuez les étapes suivantes :

  1. Sur la console Amazon S3, choisissez Chapeaux cloche dans le volet de navigation.
  2. Selectionnez Créer un seau.
  3. Pour Nom, saisissez un nom globalement unique pour votre compartiment ; par exemple, tickit8530923.
  4. Selectionnez Créer un seau.
  5. Télécharger BILLET ensemble de données et décompressez-le.
  6. Créez le dossier tickit dans votre compartiment S3 et téléchargez les fichiers allevents_pipe.txt et venue_pipe.txt.

Configurer les connexions Teradata

Pour vous connecter à Teradata depuis AWS Glue, consultez Configuration de la connexion Teradata.

Vous devez créer et stocker vos informations d'identification Teradata dans un AWS Secrets Manager secret, puis associez ce secret à une connexion Teradata AWS Glue. Nous discutons de ces deux étapes plus en détail plus loin dans cet article.

Créer un rôle IAM pour la tâche AWS Glue ETL

Lorsque vous créez la tâche AWS Glue ETL, vous spécifiez un Gestion des identités et des accès AWS (IAM) pour le travail à utiliser. Le rôle doit accorder l'accès à toutes les ressources utilisées par la tâche, y compris Amazon S3 (pour toutes les sources, cibles, scripts, fichiers de pilote et répertoires temporaires) et Secrets Manager. Pour les instructions, voir Configurer un rôle IAM pour votre tâche ETL.

Créer une table dans Teradata

À l'aide de votre outil de base de données préféré, connectez-vous à Teradata. Exécutez le code suivant pour créer la table dans Teradata où vous chargerez vos données :

CREATE MULTISET TABLE test.tickit, FALLBACK
   (venueid varchar(25),
    venuename varchar(100),
    venuecity varchar(100),
    venuestate varchar(25),
    venueseats varchar(25),
    eventid varchar(25),
    catid varchar(25),
    dateid varchar(25),
    eventname varchar(100),
    starttime varchar(100))
    NO PRIMARY INDEX
;

Stocker les identifiants de connexion Teradata

An Connexion AWS Glue est un objet Data Catalog qui stocke les informations de connexion, les chaînes URI, etc. Le connecteur Teradata nécessite Secrets Manager pour stocker le nom d'utilisateur et le mot de passe Teradata que vous utilisez pour vous connecter à Teradata.

Pour stocker le nom d'utilisateur et le mot de passe Teradata dans Secrets Manager, procédez comme suit :

  1. Sur la console Secrets Manager, choisissez Secrets dans le volet de navigation.
  2. Selectionnez Stocker un nouveau secret.
  3. Sélectionnez Autre type de secret.
  4. Entrez la clé/valeur USER et teradata_user, Puis choisissez Ajouter une rangée.
  5. Entrez la clé/valeur MOT DE PASSE et teradata_user_password, Puis choisissez Suivant.

Configuration du gestionnaire de secrets Teradata

  1. Pour Nom secret, saisissez un nom descriptif, puis choisissez Suivant.
  2. Selectionnez Suivant pour passer à l'étape de révision, puis choisissez Agence.

Créer la connexion Teradata dans AWS Glue

Vous êtes maintenant prêt à créer une connexion AWS Glue à Teradata. Effectuez les étapes suivantes :

  1. Sur la console AWS Glue, choisissez Connexions sous Catalogue de données dans le volet de navigation.
  2. Selectionnez Créer une connexion.
  3. Pour Nom, entrez un nom (par exemple, teradata_connection).
  4. Pour Type de connexion¸ choisissez Teradata.
  5. Pour URL Teradata, Entrer jdbc:teradata://url_of_teradata/database=name_of_your_database.
  6. Pour Secret AWS, choisissez le secret avec vos informations d'identification Teradata que vous avez créées précédemment.

Accès à la connexion Teradata

Créez une tâche ETL visuelle AWS Glue pour transformer et charger des données dans Teradata

Effectuez les étapes suivantes pour créer votre tâche AWS Glue ETL :

  1. Sur la console AWS Glue, sous Emplois ETL dans le volet de navigation, choisissez ETL visuel.
  2. Selectionnez ETL visuel.
  3. Choisissez l'icône en forme de crayon pour saisir un nom pour votre travail.

Nous ajoutons venue_pipe.txt comme notre premier ensemble de données.

  1. Selectionnez Ajouter des nœuds et choisissez Amazon S3 sur le Sources languette.

Nœud source Amazon S3

  1. Entrez les propriétés de source de données suivantes :
    1. Pour Nom, entrez Lieu.
    2. Pour Type de source S3, sélectionnez Emplacement S3.
    3. Pour URL S3, entrez le chemin S3 vers venue_pipe.txt.
    4. Pour Format de données, choisissez CSV.
    5. Pour Délimiteur, choisissez Pipe.
    6. Désélectionner La première ligne du fichier source contient des en-têtes de colonnes.

Propriétés de la source de données S3

Maintenant, nous ajoutons allevents_pipe.txt comme notre deuxième ensemble de données.

  1. Selectionnez Ajouter des nœuds et choisissez Amazon S3 sur le Sources languette.
  2. Entrez les propriétés de source de données suivantes :
    1. Pour Nom, saisissez Événement.
    2. Pour Type de source S3, sélectionnez Emplacement S3.
    3. Pour URL S3, entrez le chemin S3 vers allevents_pipe.txt.
    4. Pour Format de données, choisissez CSV.
    5. Pour Délimiteur, choisissez Pipe.
    6. Désélectionner La première ligne du fichier source contient des en-têtes de colonnes.

Ensuite, nous renommeons les colonnes de l'ensemble de données Venue.

  1. Selectionnez Ajouter des nœuds et choisissez Modifier le schéma sur le Transforme languette.
  2. Entrez les propriétés de transformation suivantes :
    1. Pour Nom, saisissez les données Renommer le lieu.
    2. Pour Parents de nœud, choisissez Lieu.
    3. Dans le Modifier le schéma , mappez les clés source aux clés cible :
      1. col0 : venueid
      2. col1 : venuename
      3. col2 : venuecity
      4. col3 : venuestate
      5. col4 : venueseats

Renommer la transformation ETL des données du site

Nous filtrons maintenant l'ensemble de données Venue sur une région géographique spécifique.

  1. Selectionnez Ajouter des nœuds et choisissez Filtre sur le Transforme languette.
  2. Entrez les propriétés de transformation suivantes :
    1. Pour Nom, entrez Filtre d'emplacement.
    2. Pour Parents de nœud, choisissez Lieu.
    3. Pour Condition du filtre, choisissez venuestate en clés / KEY :, choisissez allumettes en Opération, et entrez DC pour Valeur.

Paramètres de filtre de localisation

Nous renommeons maintenant les colonnes de l'ensemble de données Event.

  1. Selectionnez Ajouter des nœuds et choisissez Modifier le schéma sur le Transforme languette.
  2. Entrez les propriétés de transformation suivantes :
    1. Pour Nom, saisissez Renommer les données de l'événement.
    2. Pour Parents de nœud, choisissez Événement.
    3. Dans le Modifier le schéma , mappez les clés source aux clés cible :
      1. col0 : eventid
      2. col1 : e_venueid
      3. col2 : catid
      4. col3 : dateid
      5. col4 : eventname
      6. col5 : starttime

Ensuite, nous rejoignons les ensembles de données Venue et Event.

  1. Selectionnez Ajouter des nœuds et choisissez S'inscrire sur le Transforme languette.
  2. Entrez les propriétés de transformation suivantes :
    1. Pour Nom, entrez Rejoindre.
    2. Pour Parents de nœud, choisissez Filtre d'emplacement et Renommer les données d'événement.
    3. Pour Type de jointure¸ choisissez Jointure interne.
    4. Pour Conditions d'adhésion, choisissez venueid en Filtre de localisation ainsi que e_venueid en Renommer les données d'événement.

Propriétés de jointure

Maintenant, nous supprimons la colonne en double.

  1. Selectionnez Ajouter des nœuds et choisissez Modifier le schéma sur le Transforme languette.
  2. Entrez les propriétés de transformation suivantes :
    1. Pour Nom, entrez Supprimer la colonne.
    2. Pour Parents de nœud, choisissez Rejoindre.
    3. Dans le Modifier le schéma section, sélectionnez Goutte en e_venueid .

Supprimer les propriétés de la colonne

Ensuite, nous chargeons les données dans la table Teradata.

  1. Selectionnez Ajouter des nœuds et choisissez Teradata sur le Cibles languette.
  2. Entrez les propriétés du récepteur de données suivantes :
    1. Pour Nom, saisissez Teradata.
    2. Pour Parents de nœud, choisissez Supprimer la colonne.
    3. Pour Connexion Teradata, choisissez teradata_connection.
    4. Pour Nom de la table, Entrer schema.tablename de la table que vous avez créée dans Teradata.

Propriétés du récepteur de données Teradata

Enfin, nous exécutons le travail et chargeons les données dans Teradata.

  1. Selectionnez Épargnez, Puis choisissez Courir.

Une bannière affichera que le travail a commencé.

  1. Selectionnez Fonctionne, qui affiche l'état du travail.

L'état d'exécution passera à Réussi lorsque le travail est terminé.

État d'exécution

  1. Connectez-vous à votre Teradata, puis interrogez la table dans laquelle les données y ont été chargées.

Les données filtrées et jointes des deux ensembles de données seront dans le tableau.

Résultat des données filtrées et jointes

Nettoyer

Pour éviter d'encourir des frais supplémentaires causés par les ressources créées dans le cadre de cette publication, assurez-vous de supprimer les éléments que vous avez créés dans le compte AWS pour cette publication :

  • La clé Secrets Manager créée pour les informations d'identification Teradata
  • Le connecteur natif AWS Glue pour Teradata Vantage
  • Les données chargées dans le bucket S3
  • Le travail ETL visuel AWS Glue

Conclusion

Dans cet article, vous avez créé une connexion à Teradata à l'aide d'AWS Glue, puis créé une tâche AWS Glue pour transformer et charger des données dans Teradata. Le connecteur natif AWS Glue pour Teradata Vantage dynamise votre parcours d'analyse de données en fournissant une voie transparente et efficace pour intégrer vos données à Teradata. Cette nouvelle fonctionnalité d'AWS Glue simplifie non seulement vos flux de travail d'intégration de données, mais ouvre également de nouvelles voies en matière d'innovations avancées en matière d'analyse, de business intelligence et d'apprentissage automatique.

Avec le connecteur AWS Teradata, vous disposez du meilleur outil pour simplifier les tâches d'intégration de données. Que vous cherchiez à charger des données Amazon S3 dans Teradata à des fins d'analyse, de reporting ou d'informations commerciales, ce nouveau connecteur rationalise le processus, le rendant plus accessible et plus rentable.

Pour démarrer avec AWS Glue, reportez-vous à Premiers pas avec AWS Glue.


À propos des auteurs

Kamen Sharlandjiev est un architecte senior de solutions Big Data et ETL et un expert AWS Glue. Il a pour mission de faciliter la vie des clients confrontés à des défis complexes d'intégration de données. Son arme secrète ? Services AWS entièrement gérés et low-code qui peuvent effectuer le travail avec un minimum d'effort et sans codage. Suivez Kamen sur LinkedIn pour rester informé des dernières nouvelles d'AWS Glue !

Sean Bjurstrom est responsable de compte technique pour les comptes ISV chez Amazon Web Services, où il se spécialise dans les technologies d'analyse et s'appuie sur son expérience en conseil pour accompagner les clients dans leurs parcours d'analyse et de cloud. Sean a pour passion d'aider les entreprises à exploiter la puissance des données pour stimuler l'innovation et la croissance. En dehors du travail, il aime courir et a participé à plusieurs marathons.

Vinod Jayendra est responsable du support entreprise pour les comptes ISV chez Amazon Web Services, où il aide les clients à résoudre leurs problèmes d'architecture, d'exploitation et d'optimisation des coûts. Avec un accent particulier sur les technologies sans serveur, il s'appuie sur sa vaste expérience en développement d'applications pour aider les clients à créer des solutions de premier plan. Au-delà du travail, il trouve de la joie à passer du temps de qualité en famille, à se lancer dans des aventures à vélo et à entraîner des équipes sportives de jeunes.

Doug Mbaya est un architecte de solutions partenaire senior spécialisé dans l'analyse et l'apprentissage automatique. Doug travaille en étroite collaboration avec les partenaires AWS et les aide à intégrer leurs solutions aux solutions d'analyse et d'apprentissage automatique AWS dans le cloud.

spot_img

Dernières informations

spot_img