Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Limitations des données imbriquées (version préliminaire) - 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.

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.

Limitations des données imbriquées (version préliminaire)

Cette rubrique décrit les limites liées à la lecture de données imbriquées avec Redshift Spectrum. Les données imbriquées sont des données qui contiennent des champs imbriqués. Les champs imbriqués sont des champs assemblés en une seule entité, tels que des tableaux, des structures ou des objets.

Note

Les limitations marquées (aperçu) dans la liste suivante s'appliquent uniquement aux clusters d'aperçu créés dans les régions suivantes.

  • USA Est (Ohio) (us-east-2)

  • USA Est (Virginie du Nord) (us-east-1)

  • USA Ouest (Californie du Nord) (us-west-1)

  • Asie-Pacifique (Tokyo) (ap-northeast-1)

  • Europe (Irlande) (eu-west-1)

  • Europe (Stockholm) (eu-north-1)

Pour en savoir plus sur la configuration des clusters en version préliminaire, consultez Création d’un cluster en version préliminaire dans le Guide de gestion Amazon Redshift.

Les limites suivantes s’appliquent aux données imbriquées :

  • Un type array ou map peut contenir d’autres types array ou map tant que les requêtes sur les types imbriqués arrays ou maps ne renvoient pas de valeurs scalar (version préliminaire).

  • Amazon Redshift Spectrum prend uniquement en charge les types de données complexes sous forme de tables externes.

  • Les colonnes de résultats des sous-requêtes doivent être de niveau supérieur (version préliminaire).

  • Si une expression OUTER JOIN se réfère à un tableau imbriqué, il ne peut que se référer à ce tableau et ses pans imbriqués (et ses cartes). Si une expression OUTER JOIN ne se réfère pas à un tableau imbriqué, il peut se référer à tout genre de tableaux non imbriqués.

  • Si une clause FROM d’une sous-requête se réfère à un tableau imbriqué, il ne peut se référer à quelconque autre tableau.

  • Si une sous-requête dépend d’une table imbriquée qui se réfère à un parent, vous ne pouvez utiliser le parent que dans la clause FROM. Vous ne pouvez pas utiliser le parent dans une quelconque autre clause, comme une clause SELECT ou WHERE. Par exemple, la requête suivante ne s’exécute pas, car la clause SELECT de la sous-requête fait référence à la table parent c.

    SELECT c.name.given FROM spectrum.customers c WHERE (SELECT COUNT(c.id) FROM c.phones p WHERE p LIKE '858%') > 1;

    La requête suivante fonctionne parce que le parent c est utilisé uniquement dans la clause FROM de la sous-requête.

    SELECT c.name.given FROM spectrum.customers c WHERE (SELECT COUNT(*) FROM c.phones p WHERE p LIKE '858%') > 1;
  • Une sous-requête qui accède à des données imbriquées à tout autre endroit que la clause FROM doit renvoyer une seule valeur. Les seules exceptions sont les opérateurs (NOT) EXISTS dans une clause WHERE.

  • (NOT) IN n’est pas pris en charge.

  • La profondeur d’imbrication maximum pour tous les types imbriqués est de 100. Cette restriction s’applique à tous les formats de fichier (Parquet, ORC, Ion et JSON).

  • Les sous-requêtes d’agrégation qui accèdent aux données imbriquées peuvent uniquement se reporter à arrays et maps dans leur clause FROM, et non pas à une table externe.

  • L’interrogation des pseudocolonnes de données imbriquées dans une table Redshift Spectrum n’est pas prise en charge. Pour de plus amples informations, veuillez consulter Pseudocolonnes.

  • Quand vous extrayez des données à partir de colonnes d’un tableau ou d’une carte en les spécifiant dans une clause FROM, vous ne pouvez sélectionner des valeurs dans ces colonnes que si les valeurs sont scalar. Par exemple, les requêtes suivantes essayent toutes deux de sélectionner (SELECT) des éléments depuis l’intérieur d’un tableau. La requête qui sélectionne fonctionne arr.a, car arr.a est une valeur scalar. La deuxième requête ne fonctionne pas, car array est un tableau extrait de s3.nested table dans la clause FROM (version préliminaire).

    SELECT array_column FROM s3.nested_table; array_column ----------------- [{"a":1},{"b":2}] SELECT arr.a FROM s3.nested_table t, t.array_column arr; arr.a ----- 1 --This query fails to run. SELECT array FROM s3.nested_table tab, tab.array_column array;

    Vous ne pouvez pas utiliser dans la clause FROM un tableau ni une carte qui proviennent eux-mêmes d’un autre tableau ou d’une autre carte. Pour sélectionner des tableaux ou d’autres structures complexes imbriquées dans d’autres tableaux, pensez à utiliser des index dans l’instruction SELECT.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.