Chargement des données - Amazon Redshift

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.

Chargement des données

Il existe plusieurs méthodes pour charger des données dans une base de données Amazon Redshift. Les fichiers Amazon S3 sont l'une des sources de données les plus populaires à charger. Le tableau suivant récapitule certaines des méthodes à utiliser pour démarrer à partir d'une source Amazon S3.

Méthode à utiliser Description Quand la méthode est nécessaire

COPY command (Commande COPY)

Exécute une ingestion de fichiers par lots pour charger des données à partir de vos fichiers Amazon S3. Cette méthode tire parti des capacités de traitement parallèle d'Amazon Redshift. Pour plus d’informations, consultez Utilisation d’une commande COPY pour charger les données.

Doit être utilisé lorsque les exigences de base en matière de chargement de données pour initier manuellement l'ingestion de fichiers par lots sont nécessaires. Cette méthode est principalement utilisée avec des pipelines d'ingestion de fichiers personnalisés et tiers ou des charges de travail d'ingestion de fichiers ponctuelles ou ad hoc.

COPIE... Commande CREATE JOB (copie automatique)

Exécute automatiquement vos commandes COPY lorsqu'un nouveau fichier est créé sur des chemins Amazon S3 suivis. Pour plus d’informations, consultez Ingestion continue de fichiers depuis Amazon S3 (version préliminaire).

Doit être utilisé lorsqu'un pipeline d'ingestion de fichiers doit ingérer automatiquement des données lorsqu'un nouveau fichier est créé sur Amazon S3. Amazon Redshift assure le suivi des fichiers ingérés afin d'éviter la duplication des données. Cette méthode nécessite une configuration par les propriétaires de compartiments Amazon S3.

Charger des requêtes à partir d'un lac de données

Créez des tables externes pour exécuter des requêtes de lac de données sur vos fichiers Amazon S3, puis exécutez la commande INSERT INTO pour charger les résultats de vos requêtes de lac de données dans des tables locales. Pour plus d’informations, consultez Création de tables externes pour Redshift Spectrum.

Doit être utilisé dans l'un des scénarios suivants :

  • Chargement depuis AWS Glue et ouverture de formats de table (tels qu'Apache Iceberg, Apache Hudi ou Delta Lake).

  • Les fichiers source doivent être partiellement ingérés (par exemple, nécessaires pour exécuter une clause WHERE pour ingérer des lignes particulières).

  • Plus de flexibilité est nécessaire pour ingérer des colonnes spécifiques (par exemple, exécuter une commande SELECT) ou effectuer des transformations de données de base en déplacement (comme appliquer des opérations de base ou appeler des UDF sur les valeurs du fichier source).

Autres méthodes que vous pouvez envisager

Ingestion en streaming

L'ingestion du streaming permet une ingestion rapide et à faible latence des données de flux provenant d'Amazon Kinesis Data Streams et d'Amazon Managed Streaming for Apache Kafka dans une vue matérialisée provisionnée par Amazon Redshift ou Redshift Serverless. Pour plus d’informations, consultez Mise en route de l’ingestion en streaming à partir d’Amazon Kinesis Data Streams et Mise en route de l’ingestion en streaming à partir d’Amazon Managed Streaming for Apache Kafka.

À prendre en compte pour les cas d'utilisation où les données sont d'abord diffusées dans des fichiers sur Amazon S3, puis chargées depuis Amazon S3. S'il n'est pas nécessaire de conserver des données sur Amazon S3, vous pouvez souvent envisager de les diffuser directement dans Amazon Redshift.

Exécution de requêtes sur le lac de données

Exécution de requêtes directement à partir d'une table de lac de données au lieu d'ingérer le contenu de la table dans une table locale. Pour plus d’informations, consultez Interroger des données externes avec Amazon Redshift Spectrum.

À utiliser lorsque le cas d'utilisation ne nécessite pas les performances des requêtes de table locales dans Amazon Redshift.

Chargement par lots à l'aide de l'éditeur de requêtes Amazon Redshift v2

Vous pouvez préparer et exécuter visuellement vos charges de travail d'ingestion de fichiers par lots dans l'éditeur de requêtes Amazon Redshift v2. Pour plus d'informations, consultez la section Chargement de données depuis S3 dans le guide de gestion Amazon Redshift.

À utiliser lorsque vous souhaitez que l'éditeur de requêtes v2 prépare des instructions COPY et que vous souhaitez un outil visuel pour simplifier le processus de préparation des instructions COPY.

Charger des données depuis un fichier local à l'aide de l'éditeur de requêtes Amazon Redshift v2

Vous pouvez charger des fichiers directement depuis votre bureau vers les tables Amazon Redshift sans avoir à les télécharger manuellement dans Amazon S3. Pour plus d'informations, consultez la section Chargement de données à partir d'une configuration de fichiers et d'un flux de travail locaux dans le guide de gestion Amazon Redshift.

À utiliser lorsque vous devez charger rapidement des fichiers depuis votre ordinateur local à des fins de requêtes ponctuelles. Avec cette méthode, l'éditeur de requêtes Amazon Redshift v2 stocke temporairement le fichier dans un compartiment Amazon S3 appartenant au client et exécute une commande de copie en utilisant ce chemin Amazon S3.

Une commande COPY est le moyen le plus efficace de charger une table. Vous pouvez également ajouter des données à vos tables à l’aide des commandes INSERT, même si c’est beaucoup moins efficace que l’utilisation de la commande COPY. La commande COPY est capable de lire simultanément plusieurs fichiers de données ou plusieurs flux de données. Amazon Redshift alloue la charge de travail aux nœuds Amazon Redshift et effectue les opérations de chargement en parallèle, notamment en triant les lignes et en distribuant les données entre les tranches de nœuds.

Note

Les tables externes d’Amazon Redshift Spectrum sont en lecture seule. Vous ne pouvez pas copier (COPY) ni insérer (INSERT) dans une table externe.

Pour accéder aux données d'autres AWS ressources, Amazon Redshift doit être autorisé à accéder à ces ressources et à effectuer les actions nécessaires pour accéder aux données. Vous pouvez utiliser AWS Identity and Access Management (IAM) pour limiter l'accès des utilisateurs aux ressources et aux données Amazon Redshift.

Une fois vos données initiales chargées, si vous ajoutez, modifiez ou supprimez une quantité importante de données, vous devez poursuivre en exécutant une commande VACUUM pour réorganiser vos données et récupérer de l’espace après les suppressions. Vous devez également exécuter une commande ANALYZE pour mettre à jour les statistiques des tables.