Interroger des données externes avec Amazon Redshift Spectrum - 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.

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.

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 à partir de 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 AWS Glue données auquel vous accédez peut être crypté pour renforcer la sécurité. Si le AWS Glue catalogue est crypté, vous avez besoin de la clé AWS Key Management Service (AWS KMS) AWS Glue pour accéder au AWS Glue catalogue. AWS Glue le chiffrement du catalogue n'est pas disponible dans toutes les AWS régions. Pour obtenir la liste des AWS régions prises en charge, consultez la section Chiffrement et accès sécurisé AWS Glue dans le guide du AWS Glue développeur.Pour plus d'informations sur le chiffrement du catalogue de AWS Glue données, voir Chiffrer votre catalogue de AWS Glue données dans le guide du AWS Glue développeur.

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 Régions AWS là où Amazon Redshift est disponible, sauf indication contraire dans la documentation spécifique à la région. Pour connaître Région AWS la disponibilité dans les régions commerciales, consultez la section 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 AWS région.

  • 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 plus d’informations, consultez Utilisation d’un alias de type compartiment pour votre point d’accès 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 qui soit activé pour AWS Lake Formation, vous ne pouvez pas contrôler les autorisations des utilisateurs 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, consultezUtilisation de 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’utilisateurs spectrumusers.

    grant temp on database spectrumdb to group spectrumusers;

    Pour plus d’informations, consultez GRANT.

  • Lorsque vous utilisez le catalogue de données Athena ou le catalogue de AWS Glue données comme magasin de métadonnées, consultez la section Quotas et limites du guide de gestion Amazon Redshift.

  • Redshift Spectrum ne prend pas en charge Amazon EMR avec Kerberos.