Nommez les bases de données, les tables et les colonnes - 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.

Nommez les bases de données, les tables et les colonnes

Utilisez ces directives pour nommer les bases de données, les tables et les colonnes dans Athena.

Exigences relatives aux noms de base de données, de tables et de colonnes

  • Les caractères acceptables pour les noms de base de données, de tables et de colonnes AWS Glue doivent être une chaîne UTF -8 et doivent être en minuscules. Notez qu'Athena abaisse automatiquement les noms en majuscules dans les DDL requêtes lorsqu'elle crée des bases de données, des tables ou des colonnes. La longueur de la chaîne ne doit pas être inférieure à 1 ni supérieure à 255 octets.

  • Actuellement, il est possible d'avoir des espaces au début des noms. Comme ces espaces de début peuvent être difficiles à détecter et peuvent entraîner des problèmes d'utilisabilité après leur création, évitez de créer par inadvertance des noms d'objets comportant des espaces de début.

  • Si vous utilisez un AWS CloudFormation modèle AWS: :Glue : :Database pour créer une base de AWS Glue données et que vous ne spécifiez pas de nom de base de données, génère AWS Glue automatiquement un nom de base de données au format resource_name–random_string qui n'est pas compatible avec Athéna.

  • Vous pouvez utiliser le gestionnaire de AWS Glue catalogue pour renommer les colonnes, mais pas les noms de tables ou de bases de données. Pour contourner cette limitation, vous devez utiliser une définition de l'ancienne base de données pour créer une base de données portant le nouveau nom. Vous utilisez ensuite les définitions des tables de l'ancienne base de données pour recréer les tables de la nouvelle base de données. Pour ce faire, vous pouvez utiliser le AWS CLI ou AWS Glue SDK. Pour les étapes, consultez Utilisez le AWS CLI pour recréer une AWS Glue base de données et ses tables.

Utilisation de minuscules pour les noms de tables et de colonnes de tables dans Athena

Athena accepte les DML requêtes mixtes majuscules DDL et majuscules, mais les noms en minuscules lorsqu'elle exécute la requête. Pour cette raison, évitez d'utiliser une casse mixte pour les noms de tables ou de colonnes et ne vous fiez pas à la casse seule dans Athena pour distinguer ces noms. Par exemple, si vous utilisez une DDL instruction pour créer une colonne nomméeCastle, la colonne créée sera mise en minuscules à. castle Si vous spécifiez ensuite le nom de colonne dans une DML requête sous la forme Castle ouCASTLE, Athena mettra le nom en minuscules pour que vous puissiez exécuter la requête, mais affichera l'en-tête de colonne en utilisant le cadre que vous avez choisi dans la requête.

Les noms de base de données, de tables et de colonnes doivent être inférieurs ou égaux à 255 caractères.

Noms commençant par un trait de soulignement

Lorsque vous créez des tables, utilisez des guillemets simples inversés pour entourer les noms de tables, de vues ou de colonnes qui commencent par un trait de soulignement. Par exemple :

CREATE EXTERNAL TABLE IF NOT EXISTS `_myunderscoretable`( `_id` string, `_index` string) LOCATION 's3://amzn-s3-demo-bucket/'

Noms de table, de vue ou de colonne commençant par des nombres

Lors de l'exécution de requêtes SELECT, CTAS ou VIEW, placez des guillemets autour d'identificateurs tels que les noms de table, de vue ou de colonne commençant par un chiffre. Par exemple :

CREATE OR REPLACE VIEW "123view" AS SELECT "123columnone", "123columntwo" FROM "234table"

Noms de colonnes et types complexes

Pour les types complexes, seuls les caractères alphanumériques, le trait de soulignement (_) et le point (.) sont autorisés dans les noms de colonnes. Pour créer une table et des mappages pour les touches contenant des caractères restreints, vous pouvez utiliser une DDL instruction personnalisée. Pour plus d'informations, consultez l'article Créer des tables dans Amazon Athena à partir de tables imbriquées JSON et de mappages JSONSerDe à l'aide du AWS blog Big Data.

Mots réservés

Certains mots réservés dans Athena doivent être échappés. Pour éviter les mots clés réservés dans les DDL instructions, mettez-les entre crochets (`). Pour éviter les mots clés réservés dans SQL SELECT les déclarations et les requêtes relatives aux vues, mettez-les entre guillemets («).

Pour de plus amples informations, veuillez consulter Échapper aux mots clés réservés dans les requêtes.

Ressources supplémentaires

Pour connaître la syntaxe complète de création de bases de données et de tables, consultez les pages suivantes.

Pour plus d'informations sur les bases de données et les tables dans AWS Glue, consultez la section Bases de données et tables du manuel du AWS Glue développeur.