Blogs

Accueil / Blogs / 3 façons de transférer des données d'Amazon S3 vers Redshift

Table des matières
L'automatisé, Pas de code Pile de données

Apprener comment Astera Data Stack peut simplifier et rationaliser la gestion des données de votre entreprise.

3 façons de transférer des données d'Amazon S3 vers Redshift

Javeria Rahim

Responsable associé SEO

Octobre 3rd, 2023

Avec les médias sociaux, les capteurs et les appareils IoT qui donnent vie à chaque appareil, nous générons chaque jour des volumes de données. Plus de données est toujours une bonne nouvelle jusqu'à ce que votre facture de stockage commence à augmenter et qu'elle devienne difficile à gérer. Les données non structurées devraient augmenter pour atteindre 175 milliards de zettaoctets d'ici 2025. Alors que les services cloud tels qu'Amazon S3 ont permis aux organisations de gérer ces énormes volumes de données en matière d'analyse, les solutions de stockage ne suffisent pas, et c'est là qu'interviennent les entrepôts de données tels qu'Amazon Redshift.

Les entreprises utilisent souvent les deux services Amazon en tandem pour gérer les coûts et l'agilité des données ou utilisent Amazon S3 comme zone intermédiaire tout en créant un entrepôt de données sur Amazon Redshift. Cependant, vous ne pouvez réaliser le véritable potentiel des deux services que si vous pouvez établir une connexion transparente d'Amazon S3 à Redshift. Astera Centerprise est une solution sans code qui peut vous aider à intégrer les deux services sans tracas. Explorons quelques avantages d'AWS Redshift et d'Amazon S3 et comment vous pouvez les connecter facilement.

Améliorez la vitesse d'interrogation avec AWS Redshift

AWS Redshift est un entrepôt de données cloud entièrement géré déployé sur les services AWS. L'entrepôt de données a été conçu pour des analyses complexes à haut volume et peut facilement évoluer pour gérer des pétaoctets de données. Il vous permet d'extraire des informations significatives de vos données, de sorte que vous ne laissez pas vos décisions à votre instinct.

Il existe plusieurs raisons pour lesquelles AWS Redshift peut apporter une réelle valeur ajoutée à votre architecture de données :

  • En tant qu'entrepôt de données cloud robuste, il peut interroger de grands ensembles de données sans retard significatif.
  • Avec une interface comme MYSQL, l'entrepôt de données est facile à utiliser, ce qui facilite son ajout à votre architecture de données
  • Puisqu'il est sur le cloud, vous pouvez le faire évoluer facilement sans investir dans du matériel.

Bien qu'AWS Redshift puisse gérer vos besoins d'analyse de données, ce n'est pas une solution idéale pour le stockage, et c'est principalement en raison de sa structure tarifaire. AWS Redshift vous facture sur une base horaire. Ainsi, alors que les coûts commencent petits, ils peuvent rapidement gonfler.

Amazon S3 pour le stockage

Si vous envisagez de compléter Amazon S3 avec Redshift, alors la réponse simple est que vous devriez. Amazon S3 est une option de stockage rapide, évolutive et économique pour les organisations. En tant que stockage d'objets, c'est surtout une solution parfaite pour stocker des données non structurées et des données historiques.

Le stockage en nuage offre une durabilité de 99.9999 %, de sorte que vos données sont toujours disponibles et sécurisées. Vos données sont répliquées sur plusieurs régions pour la sauvegarde et ses points d'accès multirégions garantissent que vous ne rencontrez aucun problème de latence lors de l'accès aux données. De plus, S3 fournit des fonctionnalités complètes de gestion du stockage pour vous aider à garder un œil sur vos données.

Techniques de transfert de données d'Amazon S3 vers Redshift   

Il existe plusieurs méthodes que vous pouvez utiliser pour envoyer des données d'Amazon S3 à Redshift. Vous pouvez tirer parti des commandes intégrées, les envoyer via les services AWS, ou vous pouvez utiliser un outil tiers tel que Astera Centerprise.   

  1. Commande COPIER : La commande COPY est une commande intégrée in Redshift. Vous pouvez l'utiliser pour connecter l'entrepôt de données à d'autres sources sans avoir besoin d'autres outils.  
  2. Services AWS: Plusieurs services AWS, tels qu'AWS Glue et AWS Data Pipeline, peuvent vous aider à transférer des données.      
  3. Astera Centerprise: C'est un système de bout en bout intégration de données plate-forme qui vous permet d'envoyer des données provenant de diverses sources vers des entrepôts de données populaires et des destinations de bases de données de votre choix sans écrire une seule ligne de code.      

Copier la commande pour déplacer les données d'Amazon S3 vers Redshift   

Amazon Redshift est équipé d'une option qui vous permet de copier des données d'Amazon S3 vers Redshift avec les commandes INSERT et COPY. La commande INSERT est préférable si vous souhaitez ajouter une seule ligne. La commande COPY exploite le traitement parallèle, ce qui la rend idéale pour charger de gros volumes de données.  

Vous pouvez envoyer des données à Redshift via la commande COPY de la manière suivante. Cependant, avant de le faire, vous devez suivre une série d'étapes :    

  1. Si vous disposez déjà d'un cluster, téléchargez les fichiers sur votre ordinateur.    
  2. Créez un compartiment sur Amazon S3, puis chargez-y des données.  
  3. Créer des tableaux.    
  4. Exécutez la commande COPIER.  
Commande COPY d'Amazon Redshift

Commande COPY d'Amazon Redshift

L'image ci-dessus montre une commande de base. Vous devez donner un nom de table, une liste de colonnes, une source de données et des informations d'identification. Le nom de la table dans la commande est votre table cible. La liste des colonnes spécifie les colonnes sur lesquelles Redshift va mapper les données. C'est un paramètre optionnel. La source de données est l'emplacement de votre source ; C'est un champ obligatoire. Vous devez également spécifier les informations d'identification de sécurité, le format des données et les commandes de conversion. La commande COPY n'autorise que certaines conversions telles que EXPLICIT_IDS, FILLRECORD, NULL AS, TIME FORMAT, etc.  

Cependant, plusieurs limitations sont associées au déplacement des données d'Amazon S3 vers Redshift via ce processus. La commande COPY est la meilleure pour l'insertion en masse. Si vous souhaitez télécharger des données une par une, ce n'est pas la meilleure option.    

La deuxième limitation de cette approche est qu'elle ne vous permet pas d'appliquer de transformations aux ensembles de données. Vous devez être conscient des conversions de type de données qui se produisent en arrière-plan avec la commande COPY.   

La commande COPY limite également le type de sources de données que vous pouvez transférer. Vous ne pouvez transférer que JSON, AVRO et CSV. 

Déplacer des données d'Amazon S3 vers Redshift avec AWS Glue  

Données ETL avec AWS Glue Données ETL avec AWS Glue

Données ETL avec AWS Glue

AWS Glue est un serveur Outil ETL introduit par Amazon Web Services pour déplacer des données entre les services Amazon. Vous pouvez utiliser Colle AWS pour transférer des données vers et depuis AWS Redshift. L'outil ETL utilise les commandes COPY et UNLOAD pour atteindre un débit maximal. AWS Glue utilise Amazon S3 comme étape intermédiaire avant de le télécharger sur Redshift.  

Lorsque vous utilisez AWS Glue, vous devez garder à l'esprit une chose. AWS Glue transmet les informations d'identification de sécurité temporaires lorsque vous créez une tâche. Ces informations d'identification expirent après une heure et arrêtent vos tâches à mi-chemin. Pour résoudre ce problème, vous devez créer un rôle IAM distinct pouvant être associé au cluster Redshift.  

Vous pouvez transférer des données avec AWS Glue de la manière suivante :   

  1. Lancer le cluster AWS Redshift.  
  2. Créer un utilisateur de base de données pour la migration.  
  3. Créer un rôle IAM et lui donner accès à S3 
  4. Attacher le rôle IAM à la cible de base de données. 
  5. Ajouter une nouvelle base de données dans AWS glue.  
  6. Ajouter de nouvelles tables dans la base de données AWS Glue.  
  7. Donner l'emplacement de la source Amazon s3 et les détails de la colonne de table.  
  8. Créer une tâche dans AWS Glue.  
  9. Spécifiez le rôle IAM et Amazon S3 comme sources de données dans les paramètres.  
  10. Choisissez l'option "créer des tables dans votre cible de données" et choisissez JDBC pour le magasin de données.  
  11. Exécuter la tâche AWS Glue.   

Bien qu'AWS Glue puisse faire le travail pour vous, vous devez garder à l'esprit les limitations qui y sont associées. AWS Glue n'est pas un outil ETL à part entière. De plus, vous devez écrire des transformations en Python ou Scala. AWS Glue ne vous permet pas non plus de tester des transformations sans les exécuter sur des données réelles. AWS Glue prend uniquement en charge les connexions JSBC et S3 (CSV).   

Déplacer des données d'Amazon S3 vers Redshift avec AWS Data Pipeline  

Transférer des données Amazon S3 vers Redshift

Envoyer des données à Amazon Redshift avec AWS Data Pipeline

AWS Data Pipeline est un service Amazon spécialement conçu que vous pouvez utiliser pour transférer des données entre d'autres sources Amazon ainsi que des sources sur site. Avec Data Pipeline, vous pouvez créer des pipelines de données hautement fiables et tolérants aux pannes.   

Le processus contient des nœuds de données dans lesquels vos données sont stockées, les activités, les travaux EMR ou les requêtes SQL, ainsi qu'un calendrier lorsque vous souhaitez exécuter le processus. Ainsi, par exemple, si vous souhaitez envoyer des données d'Amazon S3 vers Redshift, vous devez : 

  •  Ddéfinir un pipeline avec S3DataNode,  
  • A Hive Activity pour convertir vos données en .csv,  
  • RedshiftCopyActivity pour copier vos données de S3 vers Redshift.   

Voici comment créer un pipeline de données :   

  1. Créez un pipeline. Il utilise le modèle Copy to Redshift dans la console AWS Data Pipeline.  
  2. Enregistrez et validez votre pipeline de données. Vous pouvez l'enregistrer à tout moment pendant le processus. L'outil vous avertit en cas de problème dans votre charge de travail. 
  3. Activez votre pipeline, puis surveillez.  
  4. Vous pouvez supprimer votre pipeline une fois le transfert terminé.  

Déplacer des données d'Amazon S3 vers Redshift avec Astera Centerprise

Astera Centerprise vous offre un moyen plus simple d'envoyer des données d'Amazon S3 vers Redshift. L'outil sans code est livré avec une connectivité native aux bases de données et aux formats de fichiers populaires. Il vous permet d'envoyer des données de n'importe quelle source vers n'importe quelle destination sans écrire une seule ligne de code. Avec Astera Centerprise, il vous suffit de glisser-déposer les connecteurs dans le concepteur de pipeline de données et vous pouvez commencer à créer des pipelines de données en un rien de temps. La plate-forme est également livrée avec des visuels cartographie des données et une interface utilisateur intuitive qui vous donne une visibilité complète sur vos pipelines de données.

Utilisation d'Amazon S3 comme zone intermédiaire pour Amazon Redshift

Si vous utilisez Amazon S3 comme zone intermédiaire pour créer votre entrepôt de données dans Amazon Redshift, alors Astera Centerprise vous offre un moyen simple d'envoyer des données en masse. Voici comment procéder :

  1. Faites glisser et déposez la destination de la base de données dans le concepteur de pipeline de données et choisissez Amazon Redshift dans le menu déroulant, puis indiquez vos informations d'identification pour vous connecter. Pour utiliser Amazon S3 comme zone de transit, cliquez simplement sur l'option et indiquez vos informations d'identification.
Amazon S3 vers Redshift

Connexion à Amazon Redshift dans Astera Centerprise

  1. Une fois que vous avez fait cela, vous pouvez également choisir la taille de l'insert en vrac. Par exemple, si vous avez un fichier Excel avec un million d'enregistrements, vous pouvez l'envoyer à Redshift d'Amazon par lots de 10,000 XNUMX.
Amazon s3 vers redshift

Sélection de la taille du lot pour l'insertion en masse dans Amazon S3

Enrichissez vos données avant de les envoyer d'Amazon S3 vers Redshift

Contrairement à la commande COPIER, Astera Centerprise vous permet de masser vos données avant de les envoyer à Amazon Redshift, garantissant ainsi une robustesse gestion de la qualité des données. Astera Centerprise est livré avec des transformations sophistiquées intégrées qui vous permettent de gérer les données comme vous le souhaitez. Que vous souhaitiez trier vos données, les filtrer ou appliquer des règles de qualité des données, vous pouvez le faire avec la vaste bibliothèque de transformations.

Ce qui rend Astera Centerprise le bon choix ?

Bien qu'il existe d'autres alternatives, y compris les outils AWS qui vous permettent d'envoyer des données d'Amazon S3 à Redshift, Astera Centerprise vous offre le moyen de transfert le plus rapide et le plus simple. Le sans code outil d'intégration de données est:

  1. Facile à utiliser : il est livré avec une courbe d'apprentissage minimale, ce qui permet même aux utilisateurs novices de commencer à créer des pipelines de données en quelques minutes.
  2. Automatisé : grâce à ses fonctionnalités de planification des tâches, vous pouvez automatiser des flux de travail entiers en fonction de déclencheurs temporels ou événementiels.
  3. Qualité des données: L'outil est livré avec plusieurs options prêtes à l'emploi pour nettoyer, valider et profiler vos données en veillant à ce que seules les données qualifiées parviennent à destination. Vous pouvez également utiliser le générateur d'expressions personnalisées pour définir vos propres règles.

Vous voulez charger des données d'Amazon S3 vers Redshift ? Commencez avec Astera Centerprise dès aujourd'hui !

Tu pourrais aussi aimer
Les 7 meilleurs outils d'agrégation de données en 2024
Cadre de gouvernance des données : qu’est-ce que c’est ? Importance, piliers et meilleures pratiques
Les meilleurs outils d'ingestion de données en 2024
Considérant Astera Pour vos besoins en gestion de données ?

Établissez une connectivité sans code avec vos applications d'entreprise, vos bases de données et vos applications cloud pour intégrer toutes vos données.

Connectons-nous maintenant !
connectons-nous