Lettura di oggetti S3 archiviati con la classe di storage Standard - AWS Guida prescrittiva

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à.

Lettura di oggetti S3 archiviati con la classe di storage Standard

Usare AWS Glue

I dati trasferiti da MySQL ad Amazon S3 mantengono la stessa rigidità strutturale e coerenza tipiche di un sistema di gestione di database relazionali (RDBMS).

AWS Glue Crawler esegue la scansione degli oggetti S3, deduce i tipi di dati e crea i metadati delle tabelle come una tabella DDL esterna. Quando configuri il crawler job, usa Amazon S3 come origine e specifica la posizione del prefisso S3 in cui vengono creati tutti i file di dati. Nella configurazione, includi quanto segue:

  • Opzioni di esecuzione del crawler

  • Preferenza opzionale per il prefisso della tabella

  • Database di destinazione per la creazione della tabella

  • Ruoli IAM con autorizzazioni richieste

Dopo aver richiamato il job, analizzerà i dati per dedurre lo schema e conservarlo in AWS Glue Data Catalog come tabelle AWS Glue. Le tabelle AWS Glue sono essenzialmente tabelle esterne che possono essere interrogate con istruzioni SQL come una normale tabella di database utilizzando servizi di analisi come Amazon Athena, AmazonRedshift Spectrum e Apache Hive su Amazon EMR. Per ulteriori informazioni sul crawler, consulta la documentazione di AWS Glue.

Per i file.csv con un'intestazione di colonna specificata, i nomi delle colonne della tabella risultante rifletteranno gli stessi nomi di campo. Il tipo di dati viene dedotto in base ai valori dell'oggetto dati.

Per i file Parquet, lo schema viene mantenuto all'interno dei dati stessi e la tabella risultante rifletterà gli stessi nomi di campo e lo stesso tipo di dati.

In alternativa, puoi eseguire manualmente una DDL all'interno di Athena per creare la definizione della tabella con i nomi di colonna e il tipo di dati richiesti. In questo modo viene creata la definizione della tabella all'interno di Data Catalog. Per ulteriori informazioni sulla creazione di tabelle Athena, consulta la documentazione di Amazon Athena.

Nota: se la riga di intestazione non è presente nel file CSV, il crawler crea il nome del campo come generico c_0, c_1, c_2,...

Utilizzo di Amazon S3 Select

Puoi usare Amazon S3 Select per leggere gli oggetti S3 a livello di codice utilizzando espressioni SQL. L'operazione API può essere richiamata utilizzando il select-object-content comando AWS CLI o utilizzando un SDK come Boto3 e richiamando l'operazione da Python. select_object_content

Le operazioni API supportano le istruzioni SQL come parametri e possono leggere solo file di tipo JSON e Parquet. Gli output possono essere reindirizzati come file di output.

Queste operazioni vengono richiamate per ogni oggetto S3. Per più file, esegui le operazioni in modo ricorsivo.

Per ulteriori informazioni sull'esecuzione delle operazioni utilizzando l'interfaccia a riga di comando di AWS, consulta la documentazione dell'interfaccia a riga di comando di AWS. Per ulteriori informazioni sull'esecuzione di S3 Select utilizzando Python SDK Boto3, consulta la documentazione di Boto3.