

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

# Esecuzione di query su set di dati Apache Hudi
<a name="querying-hudi"></a>

[https://hudi.incubator.apache.org/](https://hudi.incubator.apache.org/) è un framework open source per la gestione dei dati che semplifica l'elaborazione incrementale dei dati. Le operazioni di inserimento, aggiornamento, upsert ed eliminazione a livello di registro vengono elaborate in modo molto più granulare, riducendo il sovraccarico. `Upsert` si riferisce alla possibilità di inserire registri in un set di dati esistente se non esistono già o di aggiornarli.

Hudi gestisce gli eventi di inserimento e aggiornamento dei dati senza creare molti file di piccole dimensioni che possono causare problemi di prestazioni per l'analisi. Apache Hudi tiene traccia automaticamente delle modifiche e unisce i file in modo che abbiano dimensioni ottimali. Ciò evita la necessità di creare soluzioni personalizzate in grado di monitorare e riscrivere molti file di piccole dimensioni in meno file di grandi dimensioni.

I set di dati Hudi sono adatti per i seguenti casi d'uso:
+ il rispetto delle normative sulla privacy come il [Regolamento generale sulla protezione dei dati](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) (GDPR) e la [Legge sulla privacy dei consumatori della California](https://en.wikipedia.org/wiki/California_Consumer_Privacy_Act) (CCPA), che danno alle persone il diritto di rimuovere le informazioni personali o di modificare il modo in cui vengono utilizzati i loro dati.
+ Utilizzo di dati in streaming da sensori e altri dispositivi IoT (Internet of Things) che richiedono specifici eventi di inserimento e aggiornamento dei dati.
+ Implementazione di un [sistema di acquisizione dei dati di modifica o change data capture (CDC)](https://en.wikipedia.org/wiki/Change_data_capture).

Un set di dati Hudi può essere tra i seguenti tipi:
+ **Copia in scrittura (CoW)**: i dati vengono memorizzati in un formato colonnare (Parquet) e ogni aggiornamento crea una nuova versione dei file durante una scrittura.
+ **Unisci in lettura (MoR)** — I dati vengono archiviati utilizzando una combinazione di formati a colonne (Parquet) e basati su righe (Avro). Gli aggiornamenti vengono registrati nei file `delta` basati su righe e vengono compattati in base alle necessità per creare nuove versioni dei file colonnari.

Con i set di dati CoW, ogni volta che c'è un aggiornamento a un record, il file che contiene il record viene riscritto con i valori aggiornati. Quando si lavora con un set di dati MoR, ogniqualvolta è disponibile un aggiornamento Hudi scrive solo la riga per il registro modificato. MoR è più adatto per carichi di lavoro pesanti in scrittura o modifiche con meno letture. CoW è più adatto per carichi di lavoro pesanti di lettura su dati che cambiano meno frequentemente.

Hudi fornisce tre tipi di query per accedere ai dati:
+ **Query snapshot**: query che vedono l'ultima snapshot della tabella a partire da una determinata operazione di commit o compattazione. Per le tabelle MoR, le query snapshot espongono lo stato più recente della tabella unendo i file di base e delta della parte di file più recente al momento della query. 
+ **Query incrementali**: le query vedono solo i nuovi dati scritti nella tabella, dal momento di un determinato commit/compattazione. Questo fornisce in modo efficace flussi di modifica per abilitare pipeline di dati incrementali.
+ **Leggi query ottimizzate**: per le tabelle MoR, le query vedono i dati più recenti compattati. Per le tabelle CoW, le query vedono i dati più recenti impegnati.

Nella tabella seguente vengono illustrati i possibili tipi di query Hudi per ciascun tipo di tabella.


| Tipo tabella | Possibili tipi di query Hudi | 
| --- | --- | 
| Copia in scrittura | snapshot, incrementale | 
| Unisci in lettura | snapshot, incrementale, lettura ottimizzata | 

Per ulteriori informazioni sui compromessi tra i tipi di tabella e query, consulta [Tipi di tabella e query](https://hudi.apache.org/docs/table_types/) nella documentazione di Apache Hudi.

## Cambiamento terminologico Hudi: le viste sono ora query
<a name="querying-hudi-hudi-dataset-table-types-terminology"></a>

A partire dal rilascio della versione 0.5.1 di Apache Hudi, quelle che in precedenza venivano chiamate viste sono ora chiamate query. Nella tabella seguente vengono riepilogate le modifiche tra i termini precedenti e quelli nuovi.


| Vecchio termine | Nuovo termine | 
| --- | --- | 
| CoW: visualizzazione ottimizzata per la lettura<br />MoR: visualizzazione in tempo reale | Query snapshot | 
| Visualizzazione incrementale | Query incrementale | 
| Visualizzazione ottimizzata per la lettura MoR | Query ottimizzata per la lettura | 

**Topics**
+ [Cambiamento terminologico Hudi: le viste sono ora query](#querying-hudi-hudi-dataset-table-types-terminology)
+ [Considerazioni e limitazioni](querying-hudi-in-athena-considerations-and-limitations.md)
+ [Esempi di creazione di tabelle Copia su scrittura (CoW)](querying-hudi-copy-on-write-create-table-examples.md)
+ [Esempi di creazione di tabelle Unisci in lettura (MoR)](querying-hudi-merge-on-read-create-table-examples.md)
+ [Usa i metadati Hudi per migliorare le prestazioni](querying-hudi-metadata-table.md)
+ [Risorse aggiuntive](querying-hudi-additional-resources.md)