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 ».

Types pris en charge pour la projection de partition

Mode de mise au point
Types pris en charge pour la projection de partition - Amazon Athena

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.

Une table peut avoir n'importe quelle combinaison de types de colonnes de partition enum, integer, date, ou injected.

Type d'énumération

Utilisez le enum type pour les colonnes de partition dont les valeurs sont membres d'un ensemble énuméré (par exemple, des codes d'aéroport ou Régions AWS).

Définissez les propriétés de partition dans le tableau comme suit :

Nom de la propriété Exemples de valeur Description
projection.columnName.type

enum

Obligatoire. Type de projection à utiliser pour la colonnecolumnName. La valeur doit être enum (insensible à la casse) pour signaler l'utilisation du type énumération. L'espace de début et de fin est autorisé.
projection.columnName.values

A,B,C,D,E,F,G,Unknown

Obligatoire. Liste séparée par des virgules des valeurs de partition énumérées pour la colonne. columnName Tout espace est considéré comme faisant partie d'une valeur d'énumération.
Note

En tant que bonne pratique, nous recommandons de limiter l'utilisation des projections de partitions basées sur enum à quelques dizaines ou moins. Bien qu'il n'existe aucune limite spécifique pour les enum projections, la taille totale des métadonnées de votre table ne peut pas dépasser la AWS Glue limite d'environ 1 Mo lors de la compression gzip. Notez que cette limite est partagée entre les éléments clés de votre table, comme les noms de colonnes, l'emplacement, le format de stockage, etc. Si vous utilisez plus de quelques dizaines d'unités uniques IDs dans votre enum projection, envisagez une autre approche, par exemple en répartissant un plus petit nombre de valeurs uniques dans un champ de substitution. En échangeant la cardinalité, vous pouvez contrôler le nombre de valeurs uniques dans votre champ enum.

Type d'entier

Utilisez le type entier pour les colonnes de partition dont les valeurs possibles peuvent être interprétées comme des entiers dans une plage définie. Les colonnes d'entier projetées sont actuellement limitées à la plage d'un entier Java long signé (-263 à 263-1 inclus).

Nom de la propriété Exemples de valeur Description
projection.columnName.type

integer

Obligatoire. Type de projection à utiliser pour la colonnecolumnName. La valeur doit être integer (insensible à la casse) pour signaler l'utilisation du type entier. L'espace de début et de fin est autorisé.
projection.columnName.range

0,10

-1,8675309

0001,9999

Obligatoire. Liste à deux éléments séparés par des virgules qui fournit les valeurs de plage minimale et maximale à renvoyer par les requêtes sur la colonne. columnName Notez que les valeurs doivent être séparées par une virgule, et non par un tiret. Ces valeurs sont inclusives, peuvent être négatives et peuvent contenir des zéros de début. L'espace de début et de fin est autorisé.
projection.columnName.interval

1

5

Facultatif. Un entier positif qui indique l'intervalle entre les valeurs de partition successives de la colonnecolumnName. Par exemple, la valeur range « 1,3 » avec une valeur interval correspondant à « 1 » génère les valeurs 1, 2 et 3. La même valeur range avec une valeur interval correspondant à « 2 » génère les valeurs 1 et 3 et ignore 2. L'espace de début et de fin est autorisé. La valeur par défaut est 1.
projection.columnName.digits

1

5

Facultatif. Un entier positif qui indique le nombre de chiffres à inclure dans la représentation finale de la valeur de partition pour la colonnecolumnName. Par exemple, la valeur range « 1,3 » avec une valeur digits correspondant à « 1 » génère les valeurs 1, 2 et 3. La même valeur range avec une valeur digits correspondant à « 2 » génère les valeurs 01, 02 et 03. L'espace de début et de fin est autorisé. La valeur par défaut est un nombre non statique de chiffres et ne contient aucun zéro de début.

Type de date

Utilisez le type de date pour les colonnes de partition dont les valeurs sont interprétables comme des dates (avec des heures facultatives) dans une plage définie.

Important

Les colonnes de date projetée sont générées en temps universel coordonné (UTC) au moment de l'exécution de la requête.

Nom de la propriété Exemples de valeur Description
projection.columnName.type

date

Obligatoire. Type de projection à utiliser pour la colonnecolumnName. La valeur doit être date (insensible à la casse) pour signaler l'utilisation du type date. L'espace de début et de fin est autorisé.
projection.columnName.range

201701,201812

01-01-2010,12-31-2018

NOW-3YEARS,NOW

201801,NOW+1MONTH

Obligatoire. Liste à deux éléments séparés par des virgules qui fournit les range valeurs minimale et maximale de la colonne. columnName Ces valeurs sont inclusives et peuvent utiliser n'importe quel format compatible avec les types de date Java java.time.*. Les valeurs minimales et maximales doivent utiliser le même format. Le format spécifié dans la propriété .format doit correspondre au format utilisé pour ces valeurs.

Cette colonne peut également contenir des chaînes de date relatives, formatées dans ce modèle d'expression régulière :

\s*NOW\s*(([\+\-])\s*([0-9]+)\s*(YEARS?|MONTHS?|WEEKS?|DAYS?|HOURS?|MINUTES?|SECONDS?)\s*)?

Les espaces sont autorisés, mais les littéraux de type date sont considérés comme faisant partie des chaînes de date elles-mêmes.

projection.columnName.format

yyyyMM

dd-MM-yyyy

dd-MM-yyyy-HH-mm-ss

Obligatoire. Chaîne de format de date basée sur le format de date Java DateTimeFormatter. Il peut s'agir de n'importe quel type Java.time.* pris en charge.
projection.columnName.interval

1

5

Un entier positif qui indique l'intervalle entre les valeurs de partition successives d'une colonnecolumnName. Par exemple, la valeur range 2017-01,2018-12 avec une valeur interval correspondant à 1 et une valeur interval.unit correspondant à MONTHS génère les valeurs 2017-01, 2017-02, 2017-03, etc. La même valeur range avec une valeur interval correspondant à 2 et une valeur interval.unit correspondant MONTHS génère les valeurs 2017-01, 2017-03, 2017-05, etc. L'espace de début et de fin est autorisé.

Lorsque les dates fournies sont précises à un jour ou à un mois, la valeur interval est facultative, et la valeur par défaut est 1 jour ou 1 mois, respectivement. Dans le cas contraire, la valeur interval est obligatoire.

projection.columnName.interval.unit

YEARS

MONTHS

WEEKS

DAYS

HOURS

MINUTES

SECONDS

MILLIS

Un mot d'unité de temps qui représente la forme sérialisée de a. ChronoUnit Les valeurs possibles sont YEARS, MONTHS, WEEKS, DAYS, HOURS, MINUTES, SECONDS ou MILLIS. Ces valeurs ne sont pas sensibles à la casse.

Lorsque les dates fournies sont précises à un jour ou à un mois, la valeur interval.unit est facultative, et la valeur par défaut est 1 jour ou 1 mois, respectivement. Dans le cas contraire, la valeur interval.unit est obligatoire.

Exemple — Partitionnement par mois

L'exemple de configuration du tableau suivant partitionne les données par mois de 2015 à aujourd'hui.

'projection.month.type'='date', 'projection.month.format'='yyyy-MM', 'projection.month.interval'='1', 'projection.month.interval.unit'='MONTHS', 'projection.month.range'='2015-01,NOW', ...

Type injecté

Utilisez le type injecté pour les colonnes de partition avec des valeurs possibles qui ne peuvent pas être générées de manière procédurale dans une plage logique, mais qui sont fournies dans la clause WHERE d'une requête en tant que valeur unique.

Il est important de garder à l'esprit les points suivants :

  • Les requêtes au niveau des colonnes injectées échouent si aucune expression de filtre n'est fournie pour chaque colonne injectée.

  • Les requêtes comportant plusieurs valeurs pour une expression de filtre sur une colonne injectée réussissent uniquement si les valeurs sont disjointes.

  • Seules les colonnes de type string sont prises en charge.

  • Lorsque vous utilisez la WHERE IN clause avec une colonne de partition injectée, vous pouvez spécifier une limite de 1 000 valeurs dans la IN liste. Pour interroger un ensemble de données contenant plus de 1 000 partitions pour une colonne injectée, divisez la requête en plusieurs requêtes plus petites, chacune contenant jusqu'à 1 000 valeurs dans la WHERE IN clause, puis agrégez les résultats.

Nom de la propriété Valeur Description
projection.columnName.type

injected

Obligatoire. Type de projection à utiliser pour la colonnecolumnName. Seul le type string est pris en charge. La valeur spécifiée doit être injected (insensible à la casse). L'espace de début et de fin est autorisé.

Pour de plus amples informations, veuillez consulter Quand utiliser le type injected de projection.

Sur cette page

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