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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Obligatoire. Liste à deux éléments séparés par des virgules qui fournit les Cette colonne peut également contenir des chaînes de date relatives, formatées dans ce modèle d'expression régulière :
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. |
|
Obligatoire. Chaîne de format de date basée sur le format de date Java DateTimeFormatterJava.time.* pris en charge. |
projection. |
|
Un entier positif qui indique l'intervalle entre les valeurs de partition successives d'une colonne Lorsque les dates fournies sont précises à un jour ou à un mois, la valeur |
projection. |
|
Un mot d'unité de temps qui représente la forme sérialisée de a. ChronoUnit Lorsque les dates fournies sont précises à un jour ou à un mois, la valeur |
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 laIN
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 laWHERE IN
clause, puis agrégez les résultats.
Nom de la propriété | Valeur | Description |
---|---|---|
projection. |
|
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.