Nomi di tabelle, database 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à.

Nomi di tabelle, database e colonne

Usa questi suggerimenti per denominare gli oggetti del database 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. La lunghezza della stringa non deve essere inferiore a 1 o superiore a 255 byte. Il superamento di questo limite genera un errore del tipo Impossibile soddisfare il vincolo per il valore in 'name': il member deve avere una lunghezza inferiore o uguale a 255. I caratteri che possono essere utilizzati includono spazi e sono definiti dal seguente schema di stringhe a riga singola:

    [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*
  • Attualmente, il modello AWS Glue regex consente di aggiungere 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 nomi di oggetti con spazi iniziali.

  • Se utilizzi un AWS::Glue::Database AWS CloudFormation modello 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. Per fare ciò, puoi usare AWS CLI o AWS Glue SDK. Per le fasi, consulta Utilizzo di 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 maiuscole e minuscole nelle query DDL e DML, ma scrive i nomi in minuscolo quando esegue la 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 utilizzi un'istruzione DDL per creare una colonna denominata Castle, la colonna creata verrà scritta in minuscolo come castle. Se si specifica quindi il nome della colonna in una query DML come Castle o CASTLE, Athena scriverà in minuscolo il nome per l'esecuzione della query, ma mostrerà l'intestazione della colonna utilizzando la struttura 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://DOC-EXAMPLE-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 una mappatura per le chiavi con caratteri limitati, è possibile utilizzare un'istruzione DDL personalizzata. Per ulteriori informazioni, consulta l'articolo Creare tabelle in Amazon Athena da JSON annidato e mappature usando SerDe JSON nel Big Data Blog.AWS

Parole riservate

Alcune parole riservate in Athena devono avere il carattere escape. Per impostare il carattere escape di parole chiave riservate in istruzioni DDL, occorre racchiuderle tra apici retroversi (`). Per impostare il carattere escape di parole chiave riservate in istruzioni SQL SELECT e nelle query su viste, occorre racchiuderle tra doppie virgolette ('').

Per ulteriori informazioni, consulta Parole chiave riservate.

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 Developer Guide.AWS Glue