Database di nomi, tabelle e colonne - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Database di nomi, tabelle e colonne

Utilizza queste linee guida per denominare database, tabelle e colonne in Athena.

Requisiti per i nomi di database, tabelle e colonne

  • I caratteri accettabili per i nomi di database, i nomi delle tabelle e i nomi delle colonne AWS Glue devono essere una stringa UTF -8 e devono essere scritti in minuscolo. Tieni presente che Athena riduce automaticamente tutti i nomi maiuscoli nelle DDL query quando crea database, tabelle o colonne. La lunghezza della stringa non deve essere inferiore a 1 o superiore a 255 byte.

  • Attualmente è possibile inserire spazi iniziali all'inizio dei nomi. Poiché questi spazi iniziali possono essere difficili da rilevare e possono causare problemi di usabilità dopo la creazione, evitate di creare inavvertitamente nomi di oggetti con spazi iniziali.

  • Se usi un AWS CloudFormation modello AWS: :Glue: :Database per creare un AWS Glue database e non specifichi un nome di database, genera AWS Glue automaticamente un nome di database nel formato resource_name–random_string che non è compatibile con Athena.

  • È possibile utilizzare AWS Glue Catalog Manager per rinominare le colonne, ma non i nomi delle tabelle o dei database. Per ovviare a questa limitazione, è necessario utilizzare una definizione del vecchio database per creare un database con il nuovo nome. Quindi si utilizzano le definizioni delle tabelle del vecchio database per ricreare le tabelle nel nuovo database. A tale scopo, è possibile utilizzare AWS CLI o AWS Glue SDK. Per le fasi, consulta Utilizzare il AWS CLI per ricreare un AWS Glue database e le relative tabelle.

Utilizzare lettere minuscole per i nomi delle tabelle e delle colonne in Athena

Athena accetta interrogazioni DDL miste tra maiuscole e minuscole, ma i nomi sono minuscoli quando esegue la DML query. Per questo motivo, evitare di usare maiuscole e minuscole per i nomi delle tabelle o delle colonne e non fare affidamento sul solo contenitore di Athena per distinguere tali nomi. Ad esempio, se si utilizza un'DDListruzione per creare una colonna denominataCastle, la colonna creata verrà scritta in minuscolo con. castle Se poi specificate il nome della colonna in una DML query come Castle oCASTLE, Athena ridurrà in minuscolo il nome per eseguire la query, ma visualizzerà l'intestazione della colonna utilizzando la maiuscola scelta nella query.

I nomi di database, tabelle e colonne devono contenere un massimo di 255 caratteri.

Nomi che iniziano con un trattino basso

Quando crei tabelle, utilizza i backtick per racchiudere i nomi di tabelle, viste o colonne che iniziano con un trattino basso. Per esempio:

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

Nomi di tabelle, viste o colonne che iniziano con i numeri

Quando si eseguono le query SELECT, CTAS o VIEW inserire le virgolette attorno a identificatori come nomi di tabelle, viste o colonne che iniziano con una cifra. Per esempio:

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

Nomi di colonna e tipi complessi

Per i tipi complessi, nei nomi delle colonne sono consentiti solo caratteri alfanumerici, il trattino basso (_) e il punto (.). Per creare una tabella e mappature per le chiavi con caratteri limitati, puoi utilizzare un'istruzione personalizzata. DDL Per ulteriori informazioni, consulta l'articolo Creare tabelle in Amazon Athena da nidificati JSON e mappature utilizzando JSONSerDe nel blog Big Data.AWS

Parole riservate

Alcune parole riservate in Athena devono avere il carattere escape. Per evitare parole chiave riservate nelle DDL istruzioni, racchiudile tra backtick (`). Per evitare parole chiave riservate nelle SQL SELECT istruzioni e nelle query sulle viste, racchiudetele tra virgolette doppie («).

Per ulteriori informazioni, consulta Evita le parole chiave riservate nelle query.

Altre risorse

Per la sintassi completa per la creazione di database e tabelle, vedere le pagine seguenti.

Per ulteriori informazioni su database e tabelle in AWS Glue, consulta Databases and Tables nella AWS Glue Developer Guide.