Interroger des données externes avec Amazon Redshift Spectrum
Grâce à Amazon Redshift Spectrum, vous pouvez interroger et récupérer efficacement des données structurées et semi-structurées à partir de fichiers dans Amazon S3 sans avoir à charger les données dans des tables Amazon Redshift. Les requêtes Redshift Spectrum s'exécutent très rapidement sur de vastes jeux de données en appliquant le parallélisme massif. Une grande partie du traitement s'effectue dans la couche Spectre de Redshift, et la plupart des données restent dans Amazon S3. Plusieurs clusters peuvent interroger simultanément le même ensemble de données dans Amazon S3 sans devoir faire des copies des données pour chaque cluster.
Rubriques
- Présentation d'Amazon Redshift Spectrum
- Mise en route avec Amazon Redshift Spectrum
- Politiques IAM pour Amazon Redshift Spectrum
- Utiliser Redshift Spectrum avec AWS Lake Formation
- Création de fichiers de données pour les requêtes dans Amazon Redshift Spectrum
- Création de schémas externes pour Amazon Redshift Spectrum
- Création de tables externes pour Redshift Spectrum
- Utilisation de tables Apache Iceberg avec Amazon Redshift (version préliminaire)
- Amélioration des performances des requêtes d'Amazon Redshift Spectrum
- Définition des options de gestion des données
- Exemple : exécution de sous-requêtes corrélées dans Redshift Spectrum
- Surveiller les métriques dans Amazon Redshift Spectrum
- Dépanner les problèmes liés aux requêtes dans Amazon Redshift Spectrum
- Didacticiel : Faire une requête de données imbriquées avec Amazon Redshift Spectrum
Présentation d'Amazon Redshift Spectrum
Amazon Redshift Spectrum réside sur des serveurs Amazon Redshift dédiés qui sont indépendants de votre cluster. Amazon Redshift transmet à la couche Redshift Spectrum de nombreuses tâches nécessitant une importante capacité de calcul, telles que le regroupement et le filtrage des prédicats. Ainsi, les requêtes Redshift Spectrum consomment nettement moins de capacité de traitement du cluster que les autres requêtes. Redshift Spectrum permet en outre un dimensionnement intelligent. Selon les demandes de vos requêtes, Redshift Spectrum est à même d'utiliser des milliers d'instances, afin de tirer parti du traitement massivement parallèle.
Pour créer des tables Redshift Spectrum, vous devez définir la structure de vos fichiers et enregistrer ces derniers en tant que tables dans un catalogue de données externe, Le catalogue de données externe peut être AWS Glue, le catalogue de données fourni avec Amazon Athena ou votre propre métastore Apache Hive. Vous pouvez créer et gérer des tables externes soit à partir d'Amazon Redshift à l'aide de commandes DDL (data definition language), soit à l'aide de tout autre outil qui se connecte au catalogue de données externes. Les modifications apportées au catalogue de données externe sont immédiatement disponibles pour n'importe lequel de vos clusters Amazon Redshift.
Vous avez aussi la possibilité de partitionner les tables externes en une ou plusieurs colonnes, ce qui dans certains cas permet d'optimiser les performances, L'amélioration se produit parce que l'optimiseur de requêtes Amazon Redshift élimine les partitions qui ne contiennent pas de données pour la requête.
Une fois que vos tables Redshift Spectrum ont été définies, vous pouvez interroger et joindre les tables comme vous le faites avec n'importe quelle autre table Amazon Redshift. Redshift Spectrum ne prend pas en charge les opérations de mise à jour des tables externes. Vous pouvez ajouter des tables Redshift Spectrum à plusieurs clusters Amazon Redshift et interroger les mêmes données sur Amazon S3 depuis n'importe quel cluster de la même région AWS. Lorsque vous mettez à jour des fichiers de données Amazon S3, les données sont immédiatement disponibles pour être interrogées à partir de n'importe lequel de vos clusters Amazon Redshift.
Le catalogue de données AWS Glue auquel vous accédez peut être chiffré pour être mieux sécurisé. Si le catalogue AWS Glue est chiffré, vous avez besoin de la clé AWS Key Management Service (AWS KMS) pour qu'AWS Glue accède au catalogue AWS Glue. Le chiffrement du catalogue AWS Glue n'est pas disponible dans toutes les régions AWS. Pour obtenir la liste des régions AWS prises en charge, veuillez consulter la rubrique Chiffrement et accès sécurisé pour AWS Glue dans le Guide du développeur AWS Glue.Pour plus d'informations sur le chiffrement du catalogue de données AWS Glue, veuillez consulter la rubrique Chiffrement de votre catalogue de données AWS Glue dans le guide du développeur AWS Glue.
Note
Vous ne pouvez pas afficher les détails des tables Redshift Spectrum en utilisant les mêmes ressources que celles que vous utilisez pour les tables Amazon Redshift standard, telles que PG_TABLE_DEF, STV_TBL_PERM, PG_CLASS ou information_schema. Si votre outil de Business Intelligence ou d'analyse ne reconnaît pas les tables externes Redshift Spectrum, configurez votre application de façon à interroger SVV_EXTERNAL_TABLES et SVV_EXTERNAL_COLUMNS.
Régions Amazon Redshift Spectrum
Redshift Spectrum est disponible dans les Régions AWS où Amazon Redshift est disponible, sauf indication contraire dans la documentation spécifique à la région. Pour la disponibilité en Région AWS dans les régions commerciales, consultez Points de terminaison de service pour l'API Redshift dans le Référence générale d'Amazon Web Services.
Considérations relatives à Amazon Redshift Spectrum
Tenez compte des éléments suivants lorsque vous utilisez Amazon Redshift Spectrum :
-
Le cluster Amazon Redshift et le compartiment Amazon S3 doivent se trouver dans la même région AWS.
-
Redshift Spectrum ne prend pas en charge le routage VPC amélioré avec des clusters provisionnés. Pour accéder à vos données Amazon S3, vous pouvez avoir besoin d'effectuer des étapes de configuration supplémentaires. Pour plus d'informations, consultez Utilisation d'Amazon Redshift Spectrum avec le routage VPC amélioré dans le Guide de gestion Amazon Redshift.
Redshift Spectrum prend en charge les alias de point d'accès Amazon S3. Pour de plus amples informations, veuillez consulter Using a bucket–style alias for your access point dans le Guide de l'utilisateur Amazon Simple Storage Service. Cependant, Redshift Spectrum ne prend pas en charge le VPC avec les alias de point d'accès Amazon S3. Pour plus d'informations, consultez Utilisation d'Amazon Redshift Spectrum avec le routage VPC amélioré dans le Guide de gestion Amazon Redshift.
-
Vous ne pouvez pas exécuter d'opérations de mise à jour ou de suppression sur les tables externes. Pour créer une table externe dans le schéma spécifié, vous pouvez utiliser CREATE EXTERNAL TABLE. Pour de plus amples informations sur la commande CREATE EXTERNAL TABLES, consultez CREATE EXTERNAL TABLE. Pour insérer les résultats d'une requête SELECT dans des tables externes existantes des catalogues externes, vous pouvez utiliser INSERT (table externe). Pour plus d'informations sur INSERT (table externe), consultez INSERT (table externe).
-
À moins que vous n'utilisiez un AWS Glue Data Catalog activé pour AWS Lake Formation, vous ne pouvez pas contrôler les autorisations utilisateur sur une table externe. Vous pouvez en revanche accorder et révoquer des autorisations pour le schéma externe. Pour plus d'informations sur l'utilisation de AWS Lake Formation, veuillez consulter Utiliser Redshift Spectrum avec AWS Lake Formation.
-
Pour exécuter des requêtes Redshift Spectrum, l'utilisateur de la base de données doit avoir l'autorisation d'y créer des tables temporaires. L'exemple suivant accorde une autorisation temporaire concernant la base de données
spectrumdb
au groupe d'utilisateursspectrumusers
.grant temp on database spectrumdb to group spectrumusers;
Pour de plus amples informations, veuillez consulter GRANT.
-
Lorsque vous utilisez le catalogue de données Athena ou le catalogue de données AWS Glue comme magasin de métadonnées, consultez la rubrique Quotas et limites dans le Guide de gestion Amazon Redshift.
-
Redshift Spectrum ne prend pas en charge Amazon EMR avec Kerberos.