Utilizzo di file in Amazon S3 per l'origine dati - AWS Glue

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

Utilizzo di file in Amazon S3 per l'origine dati

Se scegli Amazon S3 come origine dati, puoi scegliere:

  • Un database e una tabella del catalogo dati.

  • Un bucket, una cartella o un file in Amazon S3.

Se utilizzi un bucket Amazon S3 come origine dati, AWS Glue rileva lo schema dei dati nella posizione specificata da uno dei file o utilizzando il file specificato come file di esempio. Il rilevamento dello schema si verifica quando si utilizza il pulsante Infer schema (Deduci schema). Se modifichi la posizione di Amazon S3 o il file di esempio, devi selezionare nuovamente Infer schema (Deduci schema) per eseguire il rilevamento dello schema utilizzando le nuove informazioni.

Per configurare un nodo origine dati che legge direttamente dai file in Amazon S3
  1. Vai all'editor visivo per un processo nuovo o salvato.

  2. Scegli un nodo di origine dati nel diagramma del processo per un'origine Amazon S3.

  3. Seleziona la scheda Data source properties (Proprietà dell'origine dati), quindi immetti le informazioni riportate di seguito:

    • TS3 source type (Tipo di origine S3): (solo per origini dati Amazon S3) scegli l'opzione S3 location (Posizione S3).

    • S3 URL (URL S3): inserisci il percorso del bucket, della cartella o del file Amazon S3 che contiene i dati per il processo. Puoi scegliere Browse S3 (Sfoglia S3) per selezionare il percorso dalle posizioni disponibili per il tuo account.

    • Recursive (Ricorsiva): scegli questa opzione se vuoi che AWS Glue legga i dati dai file nelle cartelle figlio nella posizione S3.

      Se le cartelle figlio contengono dati partizionati, AWS Glue non aggiunge le informazioni di partizione specificate nei nomi delle cartelle al Data Catalog. Considera, ad esempio, le seguenti cartelle in Amazon S3:

      S3://sales/year=2019/month=Jan/day=1 S3://sales/year=2019/month=Jan/day=2

      Scegliendo Recursive (Ricorsiva) e selezionando sales come posizione S3, AWS Glue legge i dati in tutte le cartelle figlio, ma non crea partizioni per anno, mese o giorno.

    • Data format (Formato dei dati): scegli il formato in cui sono memorizzati i dati. Puoi scegliere JSON, CSV o Parquet. Il valore selezionato indica al processo AWS Glue come leggere i dati dal file di origine.

      Nota

      Se non selezioni il formato dei dati corretto, AWS Glue potrebbe dedurre lo schema correttamente, ma il processo non sarà in grado di analizzare correttamente i dati dal file di origine.

      Puoi immettere opzioni di configurazione aggiuntive, a seconda del formato scelto.

      • JSON (JavaScript Object Notation)

        • JsonPath (Percorso JSON): inserisci un percorso JSON che faccia riferimento a un oggetto usato per definire uno schema di tabella. Le espressioni di percorso JSON fanno sempre riferimento a una struttura JSON nello stesso modo in cui le espressioni XPath vengono utilizzate in combinazione con un documento XML. L' "oggetto membro root" nel percorso JSON è sempre indicato come $, anche se si tratta di un oggetto o di una matrice. È possibile scrivere il percorso JSON in notazione punto o in notazione parentesi.

          Per ulteriori informazioni sul percorso JSON, consulta JsonPath su GitHub.

        • Records in source files can span multiple lines (I registri nei file di origine possono estendersi su più righe): seleziona questa opzione se un singolo registro può estendersi su più righe nel file CSV.

      • CSV (valori separati da virgola)

        • Delimiter (Delimitatore): immetti un carattere per indicare il separatore di ogni voce di colonna nella riga, ad esempio ; o ,.

        • Escape character (Carattere di escape): immetti un carattere utilizzato come carattere di escape. Questo carattere indica che il carattere che segue immediatamente il carattere di escape deve essere preso alla lettera e non deve essere interpretato come un delimitatore.

        • Quote character (Carattere virgolette): immetti il carattere utilizzato per raggruppare stringhe separate in un singolo valore. Ad esempio, devi scegliere Double quote (") (virgolette doppie ["]) se nel file CSV sono presenti valori "This is a single value".

        • Records in source files can span multiple lines (I registri nei file di origine possono estendersi su più righe): seleziona questa opzione se un singolo registro può estendersi su più righe nel file CSV.

        • First line of source file contains column headers (La prima riga del file di origine contiene le intestazioni di colonna): scegli questa opzione se la prima riga del file CSV contiene intestazioni di colonna anziché dati.

      • Parquet (storage a colonne Apache Parquet)

        Non ci sono impostazioni aggiuntive da configurare per i dati memorizzati in formato Parquet.

    • Partition predicate (Predicato di partizione): per partizionare i dati letti dall'origine dati, inserisci un'espressione booleana basata su Spark SQL che includa solo le colonne di partizionamento. Ad esempio: "(year=='2020' and month=='04')"

    • Advanced options (Opzioni avanzate): espandi questa sezione se vuoi che AWS Glue rilevi lo schema dei dati in base a un file specifico.

      • Schema inference (Deduzione dello schema): seleziona l'opzione Choose a sample file from S3 (Scegli un file di esempio da S3) se vuoi utilizzare un file specifico invece di lasciare che AWS Glue scelga un file.

      • Auto-sampled file (File con campionatura automatica): inserisci il percorso del file in Amazon S3 da utilizzare per dedurre lo schema.

      Se stai apportando modifiche a un nodo dell'origine dati e al file di esempio selezionato, scegli Reload schema (Ricarica schema) per rilevare lo schema utilizzando il nuovo file di esempio.

  4. Seleziona il pulsante Infer schema (Seleziona schema) per rilevare lo schema dai file di origine in Amazon S3. Se modifichi la posizione di Amazon S3 o il file di esempio, devi selezionare nuovamente Infer schema (Deduci schema) per rilevare lo schema utilizzando le nuove informazioni.