Creazione di tabelle - 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à.

Creazione di tabelle

Anche se l'esecuzione di un crawler è il metodo consigliato per fare l'inventario dei dati negli archivi di dati, è possibile aggiungere tabelle di metadati al AWS Glue Data Catalog manualmente. Questo approccio consente di avere un maggiore controllo sulle definizioni dei metadati e di personalizzarle in base a requisiti specifici.

Puoi anche aggiungere tabelle al Data Catalog manualmente nei seguenti modi:

Quando si definisce una tabella manualmente utilizzando la console o unAPI, si specifica lo schema della tabella e il valore di un campo di classificazione che indica il tipo e il formato dei dati nell'origine dati. Se un crawler crea la tabella, lo schema e il formato dei dati sono determinati da un classificatore incorporato o da un classificatore personalizzato. Per ulteriori informazioni sulla creazione di una tabella utilizzando AWS Glue console, vedereCreazione di tabelle utilizzando la console.

Partizioni tabella

Un record AWS Glue la definizione della tabella di una cartella Amazon Simple Storage Service (Amazon S3) può descrivere una tabella partizionata. Ad esempio, per migliorare le prestazioni delle query, una tabella partizionata potrebbe separare i dati mensili in diversi file utilizzando il nome del mese come chiave. In AWS Glue, le definizioni delle tabelle includono la chiave di partizionamento di una tabella. Quando AWS Glue valuta i dati nelle cartelle Amazon S3 per catalogare una tabella, determina se viene aggiunta una singola tabella o una tabella partizionata.

È possibile creare indici delle partizioni su una tabella per recuperare un sottoinsieme delle partizioni invece di caricare tutte le partizioni nella tabella. Per ulteriori informazioni sull'utilizzo degli indici delle partizioni, consulta Creazione di indici di partizione .

Tutte le seguenti condizioni devono essere soddisfatte per AWS Glue per creare una tabella partizionata per una cartella Amazon S3:

  • Gli schemi dei file sono simili, come determinato da AWS Glue.

  • Il formato dati dei file è lo stesso.

  • Il formato di compressione dei file è lo stesso.

Ad esempio, puoi avere un tuo bucket Amazon S3 denominato my-app-bucket, in cui vengono memorizzati i dati di vendita delle app iOS e Android. I dati sono partizionati in base ad anno, mese e giorno. I file di dati per le vendite iOS e Android hanno lo stesso schema, formato dei dati e formato di compressione. Nel AWS Glue Data Catalog, il AWS Glue crawler crea una definizione di tabella con chiavi di partizionamento per anno, mese e giorno.

Il seguente elenco Amazon S3 di my-app-bucket mostra alcune delle partizioni. Il simbolo = viene utilizzato per assegnare i valori di chiave di partizione.

my-app-bucket/Sales/year=2010/month=feb/day=1/iOS.csv my-app-bucket/Sales/year=2010/month=feb/day=1/Android.csv my-app-bucket/Sales/year=2010/month=feb/day=2/iOS.csv my-app-bucket/Sales/year=2010/month=feb/day=2/Android.csv ... my-app-bucket/Sales/year=2017/month=feb/day=4/iOS.csv my-app-bucket/Sales/year=2017/month=feb/day=4/Android.csv
Il AWS Glue la console è stata recentemente aggiornata. La versione corrente della console non supporta i collegamenti di risorsa alla tabella.

Il catalogo dati può anche contenere collegamenti di risorsa della tabella. Un collegamento di risorsa della tabella è un collegamento a un database locale o condiviso. Attualmente, è possibile creare collegamenti alle risorse solo in AWS Lake Formation. Dopo aver creato un collegamento di risorsa a una tabella, è possibile utilizzare il nome del collegamento alla risorsa ovunque si utilizzi il nome della tabella. Oltre alle tabelle di tua proprietà o condivise con te, i link alle risorse delle tabelle vengono restituiti glue:GetTables() e vengono visualizzati come voci nella pagina Tabelle di AWS Glue console.

Il catalogo dati può anche contenere collegamenti di risorsa ai database.

Per ulteriori informazioni sui collegamenti alle risorse, vedere Creazione di collegamenti alle risorse nella AWS Lake Formation Guida per gli sviluppatori.

Creazione di tabelle utilizzando la console

Una tabella in AWS Glue Data Catalog è la definizione di metadati che rappresenta i dati in un archivio dati. Le tabelle vengono create quando si esegue un crawler oppure è possibile creare una tabella manualmente in AWS Glue console. L'elenco delle tabelle in AWS Glue la console mostra i valori dei metadati della tabella. Utilizzate le definizioni delle tabelle per specificare fonti e destinazioni quando create ETL (estraete, trasformate e caricate) lavori.

Nota

Con le recenti modifiche al AWS console di gestione, potrebbe essere necessario modificare i IAM ruoli esistenti per disporre dell'SearchTablesautorizzazione. Per la creazione di nuovi ruoli, l'SearchTablesAPIautorizzazione è già stata aggiunta come impostazione predefinita.

Per iniziare, accedi a AWS Management Console e apri il AWS Glue console presso https://console.aws.amazon.com/glue/. Scegli la scheda Tables (Tabelle) e usa il pulsante Add tables (Aggiungi tabelle) per creare tabelle con un crawler o digitando manualmente gli attributi.

Aggiunta di tabelle nella console

Per usare un crawler per aggiungere tabelle, scegli Add tables (Aggiungi tabelle), Add tables using a crawler (Aggiungi tabelle utilizzando un crawler). Quindi segui le istruzioni nella procedura guidata Add crawler (Aggiungi crawler). Quando il crawler viene eseguito, le tabelle vengono aggiunte a AWS Glue Data Catalog. Per ulteriori informazioni, vedereUtilizzo dei crawler per popolare il Data Catalog .

Se conosci gli attributi necessari per creare una definizione di tabella Amazon Simple Storage Service (Amazon S3) nel catalogo dati, puoi crearla con la procedura guidata di creazione di tabelle. Scegli Add tables (Aggiungi tabelle), Add table manually (Aggiungi tabella manualmente) e segui le istruzioni della procedura guidata Add tables (Aggiungi tabella).

Quando aggiungi una tabella manualmente attraverso la console, considera quanto segue:

  • Se prevedi di accedere alla tabella da Amazon Athena, fornisci un nome con solo caratteri alfanumerici e di sottolineatura. Per ulteriori informazioni, consulta Nomi di Athena.

  • L'ubicazione dei dati di origine deve essere un percorso Amazon S3.

  • Il formato dei dati deve corrispondere a uno dei formati elencati nella procedura guidata. La classificazione corrispondente e SerDe le altre proprietà della tabella vengono compilate automaticamente in base al formato scelto. Puoi definire tabelle con i seguenti formati:

    Avro

    Formato binario Apache AvroJSON.

    CSV

    Character separated values. Puoi anche specificare il delimitatore di virgola, barra verticale, punto e virgola, tab o Ctrl-A.

    JSON

    JavaScript Notazione degli oggetti.

    XML

    Formato Extensible Markup Language. Specificate il XML tag che definisce una riga nei dati. Le colonne sono definite all'interno di tag di riga.

    Parquet

    Storage a colonne Apache Parquet.

    ORC

    Formato di file Row Columnar (ORC) ottimizzato. Un formato progettato per archiviare in modo efficiente i dati Hive.

  • Puoi definire una chiave di partizione per la tabella.

  • Attualmente, le tabelle partizionate create con la console non possono essere utilizzate nei lavori. ETL

Attributi della tabella

Di seguito sono elencati alcuni importanti attributi della tua tabella:

Nome

Il nome viene stabilito in fase di creazione della tabella e non può essere modificato. In molti si fa riferimento al nome di una tabella AWS Glue operazioni.

Database

L'oggetto container in cui la tabella risiede. Questo oggetto contiene un'organizzazione delle tabelle che esiste all'interno di AWS Glue Data Catalog e potrebbe differire da un'organizzazione presente nell'archivio dati. Quando elimini un database, anche tutte le tabelle in esso contenute vengono eliminate dal catalogo dati.

Descrizione

La descrizione della tabella. Puoi scrivere una descrizione per aiutarti a comprendere i contenuti della tabella.

Formato della tabella

Specificare la creazione di uno standard AWS Glue tabella o tabella in formato Apache Iceberg.

Il Data Catalog offre le seguenti opzioni di ottimizzazione delle tabelle per gestire l'archiviazione delle tabelle e migliorare le prestazioni delle query per le tabelle Iceberg.

  • Compattazione: i file di dati vengono uniti e riscritti, rimuovono i dati obsoleti e consolidano i dati frammentati in file più grandi ed efficienti.

  • Conservazione delle istantanee: le istantanee sono versioni con data e ora di una tabella Iceberg. Le configurazioni di conservazione delle istantanee consentono ai clienti di stabilire per quanto tempo conservare le istantanee e quante istantanee conservare. La configurazione di un ottimizzatore di conservazione delle istantanee può aiutare a gestire il sovraccarico di archiviazione rimuovendo le istantanee più vecchie e non necessarie e i relativi file sottostanti.

  • Eliminazione di file orfani: i file orfani sono file a cui non fanno più riferimento i metadati della tabella Iceberg. Questi file possono accumularsi nel tempo, soprattutto dopo operazioni come l'eliminazione di tabelle o lavori non riusciti. ETL L'abilitazione dell'eliminazione di file orfani consente AWS Glue per identificare e rimuovere periodicamente questi file non necessari, liberando spazio di archiviazione.

Per ulteriori informazioni, consulta Ottimizzazione delle tabelle Iceberg.

Configurazione di ottimizzazione

È possibile utilizzare le impostazioni predefinite o personalizzare le impostazioni per abilitare gli ottimizzatori di tabella.

IAMruolo

Per eseguire gli ottimizzatori di tabella, il servizio assume un IAM ruolo per conto dell'utente. Puoi scegliere un IAM ruolo utilizzando il menu a discesa. Assicurati che il ruolo disponga delle autorizzazioni necessarie per abilitare la compattazione.

Per ulteriori informazioni sulle autorizzazioni richieste per il IAM ruolo, consulta. Prerequisiti per l'ottimizzazione delle tabelle

Ubicazione

Il puntatore all'ubicazione dei dati in un datastore rappresentato da questa definizione di tabella.

Classificazione

Un valore di categorizzazione fornito al momento della creazione della tabella. Solitamente viene scritto quando un crawler viene eseguito e specifica il formato dei dati di origine.

Ultimo aggiornamento

L'ora e la data (UTC) in cui questa tabella è stata aggiornata nel Data Catalog.

Data aggiunta

L'ora e la data (UTC) in cui questa tabella è stata aggiunta al Data Catalog.

Deprecated

Se AWS Glue scopre che una tabella del Data Catalog non esiste più nell'archivio dati originale, contrassegna la tabella come obsoleta nel catalogo dati. Se esegui un processo che fa riferimento a una tabella obsoleta, il processo potrebbe fallire. Modifica processi che fanno riferimento a tabelle obsolete per rimuoverle come origini e destinazioni. Consigliamo di eliminare le tabelle obsolete quando non sono più necessarie.

Connessione

Se AWS Glue richiede una connessione al data store, il nome della connessione è associato alla tabella.

Visualizzazione e gestione dei dettagli della tabella

Per vedere i dettagli di una tabella esistente, scegli il nome tabella nell'elenco quindi scegli Action, View details (Operazione, Mostra dettagli).

I dettagli tabella includono le proprietà della tabella e del relativo schema. Questa vista mostra lo schema della tabella, inclusi i nomi colonna nell'ordine definito per la tabella, i tipi di dati e le colonne chiave per le partizioni. Se una colonna è di tipo complesso, puoi scegliere View properties (Visualizza proprietà) per visualizzare i dettagli della struttura di tale campo, come mostrato nell'esempio seguente:

{ "StorageDescriptor": { "cols": { "FieldSchema": [ { "name": "primary-1", "type": "CHAR", "comment": "" }, { "name": "second ", "type": "STRING", "comment": "" } ] }, "location": "s3://aws-logs-111122223333-us-east-1", "inputFormat": "", "outputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "compressed": "false", "numBuckets": "0", "SerDeInfo": { "name": "", "serializationLib": "org.apache.hadoop.hive.serde2.OpenCSVSerde", "parameters": { "separatorChar": "|" } }, "bucketCols": [], "sortCols": [], "parameters": {}, "SkewedInfo": {}, "storedAsSubDirectories": "false" }, "parameters": { "classification": "csv" } }

Per ulteriori informazioni sulle proprietà di una tabella, come StorageDescriptor, consulta StorageDescriptor struttura.

Per modificare lo schema di una tabella, scegli Edit schema (Modifica schema) per aggiungere o rimuovere colonne, modificarne i nomi e modificare i tipi di dati.

Per confrontare diverse versioni di una tabella, incluso lo schema, scegli Confronta versioni per visualizzare un side-by-side confronto tra due versioni dello schema per una tabella. Per ulteriori informazioni, consulta Confronto delle versioni dello schema delle tabelle .

Per visualizzare i file che costituiscono una partizione Amazon S3, scegli View partition (Visualizza partizione). Per tabelle Amazon S3, la colonna Key (Chiave) visualizza le chiavi di partizione usate per partizionare la tabella nel datastore di origine. Il partizionamento è un modo per dividere una tabella in parti correlate in base ai valori di una colonna chiave, ad esempio data, ubicazione o reparto. Per ulteriori informazioni sulle partizioni, cercare "hive partitioning." su Internet.

Nota

Per ottenere step-by-step indicazioni sulla visualizzazione dei dettagli di una tabella, consulta il tutorial Esplora la tabella nella console.

Confronto delle versioni dello schema delle tabelle

Quando si confrontano due versioni di schemi di tabelle, è possibile confrontare le modifiche apportate alle righe nidificate espandendo e comprimendo le righe nidificate, confrontare gli schemi di due versioni e visualizzare le side-by-side proprietà delle tabelle. side-by-side

Come confrontare le versioni

  1. Dal AWS Glue console, scegli Tabelle, quindi Azioni e scegli Confronta versioni.

    Lo screenshot mostra il pulsante Azioni quando è selezionato. Il menu a discesa mostra l'opzione Confronta versioni.
  2. Scegli una versione da confrontare scegliendo il menu a discesa delle versioni. Quando si confrontano gli schemi, la scheda Schema è evidenziata in arancione.

  3. Quando si confrontano le tabelle tra due versioni, gli schemi delle tabelle vengono visualizzati sul lato sinistro e destro dello schermo. Ciò consente di determinare visivamente le modifiche confrontando il nome della colonna, il tipo di dati, la chiave e i campi di commento side-by-side. Quando viene apportata una modifica, un'icona colorata mostra il tipo di modifica apportata.

    • Eliminata: contrassegnata da un'icona rossa, indica dove la colonna è stata rimossa da una versione precedente dello schema della tabella.

    • Modificata o spostata: contrassegnata da un'icona blu, indica dove la colonna è stata modificata o spostata in una versione più recente dello schema della tabella.

    • Aggiunta: contrassegnata da un'icona verde, indica dove la colonna è stata aggiunta a una versione più recente dello schema della tabella.

    • Modifiche annidate: contrassegnata da un'icona gialla, indica le modifiche nella colonna annidata. Scegli la colonna da espandere e visualizza le colonne che sono state eliminate, modificate, spostate o aggiunte.

    Lo screenshot mostra il confronto dello schema della tabella tra due versioni. Sul lato sinistro c'è la versione precedente. Sul lato destro c'è la versione più recente. L'icona di eliminazione si trova accanto a una colonna che è stata rimossa dalla versione precedente e manca nella versione più recente.
  4. Utilizza la barra di ricerca dei campi di filtro per visualizzare i campi in base ai caratteri che inserisci qui. Se immetti un nome di colonna in una delle versioni della tabella, i campi filtrati vengono visualizzati in entrambe le versioni della tabella per mostrare dove sono state apportate le modifiche.

  5. Per confrontare le proprietà, scegli la scheda Proprietà.

  6. Per interrompere il confronto tra le versioni, scegli Interrompi confronto per tornare all'elenco delle tabelle.

Aggiornamento delle tabelle del catalogo dati create manualmente usando i crawler

Potresti voler creare AWS Glue Data Catalog tabelle manualmente e poi tienile aggiornate con AWS Glue crawler. I crawler in esecuzione su una pianificazione possono aggiungere nuove partizioni e aggiornare le tabelle con qualsiasi modifica dello schema. Questo vale anche per le tabelle migrate da un metastore Apache Hive.

Per fare ciò, quando definisci un crawler, invece di specificare uno o più datastoe come origine di un crawling, puoi specificare una o più tabelle del catalogo dati esistenti. Il crawler esegue quindi il crawling dei datastore specificati dalle tabelle del catalogo. In questo caso, non vengono create nuove tabelle mentre le tabelle create manualmente vengono aggiornate.

Di seguito sono riportati altri motivi per cui puoi creare manualmente le tabelle di catalogo e specificarle come origini del crawler:

  • Desideri scegliere il nome della tabella del catalogo e non fare affidamento sull'algoritmo di denominazione della tabella del catalogo.

  • Desideri impedire la creazione di nuove tabelle nel caso in cui i file con un formato che potrebbe interrompere il rilevamento della partizione vengano erroneamente salvati nel percorso dell'origine dati.

Per ulteriori informazioni, consulta Fase 2: Scelta delle origini dei dati e dei classificatori.

Proprietà della tabella del catalogo dati

proprietà, o parametri della tabella, come sono noti in AWS CLI, sono stringhe di chiavi e valori non convalidate. È possibile impostare le proprie proprietà sulla tabella per supportare gli usi del Data Catalog al di fuori di AWS Glue. Anche altri servizi che utilizzano il Data Catalog possono farlo. AWS Glue imposta alcune proprietà della tabella durante l'esecuzione di job o crawler. Salvo diversa indicazione, queste proprietà sono per uso interno, non supportiamo il fatto che continuino a esistere nella loro forma attuale o che supportino il comportamento del prodotto se queste proprietà vengono modificate manualmente.

Per ulteriori informazioni sulle proprietà delle tabelle impostate da AWS Glue crawler, vedi. Parametri impostati sulle tabelle del catalogo dati dal crawler