Utilizzare un modulo nella console Athena per aggiungere una tabella AWS Glue - Amazon Athena

Utilizzare un modulo nella console Athena per aggiungere una tabella AWS Glue

Nella procedura seguente viene illustrato come utilizzare la console Athena per aggiungere una tabella utilizzando il modulo Crea tabella dai dati del bucket S3.

Per aggiungere una tabella e immettere le informazioni sullo schema utilizzando un modulo
  1. Aprire la console Athena all'indirizzo https://console.aws.amazon.com/athena/.

  2. Nell'editor di query, accanto a Tables and views (Tabelle e visualizzazioni), scegli Create (Crea) e quindi scegli S3 bucket data. (Dati del bucket S3).

  3. Nel modulo Create Table From S3 bucket data (Crea tabella dai dati del bucket S3), per Table name (Nome tabella), inserisci un nome per la tabella. Per informazioni sui caratteri consentiti per i nomi di database, tabelle e colonne in Athena, consultare Nomi di tabelle, database e colonne.

  4. Per Database configuration (Configurazione database), scegli un database esistente o creane uno nuovo.

  5. Per Posizione del set di dati di input, specificare il percorso in Amazon S3 alla cartella contenente il set di dati che si desidera elaborare. Non includere un nome di file nel percorso. Athena esegue la scansione di tutti i file contenuti nella cartella specificata. Se i dati sono già partizionati (ad esempio,

    s3://amzn-s3-demo-bucket/logs/year=2004/month=12/day=11/), inserire solo il percorso di base (per esempio, s3://amzn-s3-demo-bucket/logs/).

  6. Per Data Format (Formato dei dati), scegli tra le seguenti opzioni:

    • In Table type (Tipo di tabella), scegli Apache Hive, Apache Iceberg o Delta Lake. Per impostazione predefinita, Athena utilizza il tipo di tabella Apache Hive. Per informazioni sull'esecuzione di query sulle tabelle Apache Iceberg in Athena, consulta la pagina Tabelle Apache Iceberg. Per informazioni sull'utilizzo delle tabelle Delta Lake in Athena, consulta la pagina Tabelle Delta Lake di Linux Foundation.

    • Per File format (Formato file), scegli il formato di file o log in cui si trovano i dati.

      • Per l'opzione Text File with Custom Delimiters (File di testo con delimitatori personalizzati), specificare un Field terminator (Carattere di terminazione del campo) (ovvero, un delimitatore di colonna). Facoltativamente, puoi specificare un Collection terminator (carattere di terminazione della raccolta) che segna la fine di un tipo di array o un Collection terminator (carattere di terminazione della raccolta) che segna la fine di un tipo di dati mappa.

    • SerDe library (Libreria SerDe): una libreria SerDe (serializzatore-deserializzatore) analizza un particolare formato di dati in modo che Athena possa creare una tabella specifica. Per la maggior parte dei formati, viene scelta una libreria SerDe predefinita. Per i formati seguenti, scegli una libreria in base alle tue esigenze:

      • Apache Web Logs (Registri di Apache Web): scegli la libreria RegexSerDe o GrokSerDe. Per RegexSerDe, fornisci un'espressione regolare nella casella Regex definition (Definizione regex). Per GrokSerDe, fornisci una serie di espressioni regolari denominate per la proprietà SerDe input.format. Le espressioni regolari denominate sono più facili da leggere e gestire rispetto alle espressioni regolari. Per ulteriori informazioni, consulta Eseguire query sui log Apache archiviati in Amazon S3.

      • CSV: scegli LazySimpleSerDe se i dati separati da virgole non contengono valori racchiusi tra virgolette doppie o se utilizzano il formato java.sql.Timestamp. Scegli OpenCSVSerDe se i dati includono virgolette o usano il formato numerico UNIX per TIMESTAMP (ad esempio, 1564610311). Per ulteriori informazioni, consulta Lazy Simple SerDe per CSV, TSV e file con delimitatori personalizzati e OpenCSVSerDe per elaborare file CSV.

      • JSON: scegli la libreria SerDe JSON OpenX o Hive. Entrambi i formati prevedono che ogni documento JSON si trovi su una singola riga di testo e che i campi non siano separati da caratteri di nuova riga. SerDe OpenX offre alcune proprietà aggiuntive. Per ulteriori informazioni su queste proprietà, consultare OpenX JSON SerDe. Per informazioni su SerDe Hive, consulta Hive JSON SerDe.

      Per ulteriori informazioni sull'utilizzo delle librerie SerDe in Athena, consulta Scegliere una SerDe per i propri dati.

  7. In SerDe properties (Proprietà SerDe), aggiungi, modifica o rimuovi le proprietà e i valori in base alle tue esigenze e alla libreria SerDe in uso.

    • Per aggiungere una proprietà SerDe, seleziona Add SerDe property (Aggiungi proprietà SerDe).

    • Nel campo Name (Nome), immetti il nome della proprietà.

    • Nel campo Value (Valore), immetti un valore per la proprietà.

    • Per rimuovere una proprietà SerDe, scegli Remove (Rimuovi).

  8. Per Table properties (Proprietà tabella), scegli o modifica le proprietà della tabella in base alle tue esigenze.

    • Per Write compression (Compressione per la scrittura), scegli un'opzione di compressione. La disponibilità dell'opzione di compressione in scrittura e delle altre opzioni di compressione disponibili dipende dal formato dei dati. Per ulteriori informazioni, consulta Usa la compressione in Athena.

    • Per Encryption (Crittografia), seleziona Encrypted data set (Set di dati crittografati) se i dati sottostanti sono crittografati in Amazon S3. Questa opzione imposta la proprietà della tabella has_encrypted_data su true nell'istruzione CREATE TABLE.

  9. Per Column details (Dettagli della colonna), inserisci i nomi e i tipi di dati delle colonne che desideri aggiungere alla tabella.

    • Per aggiungere più colonne una alla volta, scegliere Add a column (Aggiungi una colonna).

    • Per aggiungere rapidamente più colonne, scegliere Bulk add columns (Aggiungi colonne in blocco). Nella casella di testo, immettere un elenco separato da virgole di colonne nel formato column_name data_type, column_name data_type[,...] e quindi scegliere Aggiungi.

  10. (Facoltativo) Per Partition details (Dettagli delle partizioni), aggiungi uno o più nomi di colonna e tipi di dati. Il partizionamento tiene insieme i dati correlati in base ai valori delle colonne e consente di ridurre la quantità di dati analizzati per query. Per informazioni sulle partizioni, consulta Come partizionare i dati.

  11. (Facoltativo) In Bucketing puoi specificare una o più colonne contenenti le righe da raggruppare e inserire tali righe in più bucket. Ciò consente di eseguire query solo sul bucket che si desidera leggere quando si specifica il valore delle colonne con bucket.

    • Per Buckets (Bucket), seleziona una o più colonne con un numero elevato di valori univoci (ad esempio, una chiave primaria) utilizzate di frequente per filtrare i dati nelle query.

    • In Number of buckets (Numero di bucket), immetti un numero che consenta ai file di avere dimensioni ottimali. Per ulteriori informazioni, consulta la sezione I 10 migliori consigli per ottimizzare le prestazioni di Amazon Athena nel blog AWS Big Data.

    • Per specificare le colonne con bucket, l'istruzione CREATE TABLE utilizza la sintassi seguente:

      CLUSTERED BY (bucketed_columns) INTO number_of_buckets BUCKETS
    Nota

    L'opzione Bucketing non è disponibile per i tipi di tabella Iceberg.

  12. Nella casella Preview table query (Anteprima della query della tabella) viene visualizzata l'istruzione CREATE TABLE generata dalle informazioni immesse nel modulo. L'istruzione di anteprima non può essere modificata direttamente. Per modificare l'istruzione, modifica i campi del modulo sopra l'anteprima oppure crea direttamente l'istruzione nell'editor di query anziché utilizzare il modulo.

  13. Scegli Create table (Crea tabella) per eseguire l'istruzione generata nell'editor di query e crea la tabella.