Panoramica dell'inserimento dati in Esplora dati di Azure

L'inserimento dati è il processo usato per caricare i record di dati da una o più origini in una tabella in Esplora dati di Azure. Una volta inseriti, i dati diventano disponibili per le query.

Il diagramma seguente illustra il flusso end-to-end per l'uso di Esplora dati di Azure, mostrando diversi metodi di inserimento.

Overview scheme of data ingestion and management.

Il servizio di gestione dei dati Esplora dati di Azure, responsabile dell'inserimento dati, implementa il processo seguente:

Esplora dati di Azure estrae i dati da un'origine esterna e legge le richieste da una coda di Azure in sospeso. I dati vengono inviati in batch o trasmessi a Data Manager. Il flusso di dati in batch trasmesso allo stesso database e alla stessa tabella viene ottimizzato per la velocità effettiva di inserimento. Esplora dati di Azure convalida i dati iniziali e ne converte i formati se necessario. Un'ulteriore manipolazione dei dati include corrispondenza dello schema, organizzazione, indicizzazione, codifica e compressione dei dati. I dati vengono salvati in modo permanente nell'archiviazione in base ai criteri di conservazione impostati. Data Manager esegue quindi il commit dei dati inseriti nel motore, in cui è disponibile per la query.

Formati di dati, proprietà e autorizzazioni supportati

Differenza tra inserimento in batch e inserimento in streaming

  • L'inserimento in batch esegue l'invio in batch dei dati ed è ottimizzato per una velocità effettiva di inserimento elevata. Questo metodo è il tipo di inserimento preferito e quello più efficiente. I dati vengono suddivisi in batch in base alle proprietà di inserimento. I batch di dati di piccole dimensioni vengono quindi uniti e ottimizzati per ottenere rapidamente i risultati delle query. I criteri IngestionBatching possono essere impostati su database o tabelle. Per impostazione predefinita, il valore massimo per l'inserimento in batch è 5 minuti, 1000 elementi o 1 GB di dimensioni totali. Il limite delle dimensioni dei dati per un comando di inserimento batch è di 4 GB.

  • L'inserimento in streaming è un inserimento dati continuo da un'origine del flusso. Consente una latenza quasi in tempo reale per set di dati di piccole dimensioni per tabella. I dati vengono inizialmente inseriti in rowstore e quindi spostati in extent columnstore. L'inserimento in streaming può essere eseguito usando una libreria client di Esplora dati di Azure o una delle pipeline di dati supportate.

Metodi e strumenti di inserimento

Esplora dati di Azure supporta diversi metodi di inserimento, ognuno dei quali ha i propri scenari di destinazione. Questi metodi includono strumenti di inserimento, connettori e plug-in per servizi diversi, pipeline gestite, inserimento a livello di codice tramite SDK e accesso diretto all'inserimento.

Inserimento tramite pipeline gestite

Per le organizzazioni che vogliono affidare la gestione (limitazione, ripetizione dei tentativi, monitoraggi, avvisi e altro) a un servizio esterno, l'uso di un connettore è probabilmente la soluzione più appropriata. L'inserimento in coda è adatto per grandi volumi di dati. Azure Data Explorer supporta le pipeline di Azure seguenti:

Inserimento tramite connettori e plug-in

Inserimento a livello di codice tramite SDK

Esplora dati Azure fornisce SDK che possono essere usati per l'inserimento dati e le query. L'inserimento a livello di codice è ottimizzato per diminuire i costi di inserimento, riducendo al minimo le transazioni di archiviazione durante e dopo il processo di inserimento.

SDK e progetti open source disponibili

Strumenti

  • Inserimento con un clic : consente di inserire rapidamente i dati creando e modificando tabelle da un'ampia varietà di tipi di origine. L'inserimento con un clic consente di ricevere automaticamente suggerimenti su tabelle e strutture di mapping in base all'origine dati in Esplora dati di Azure. L'inserimento con un clic può essere usato per un'operazione di inserimento unica o per definire un inserimento continuo tramite Griglia di eventi nel contenitore in cui sono stati inseriti i dati.

  • LightIngest : utilità da riga di comando per l'inserimento di dati ad hoc in Esplora dati di Azure. Può eseguire il pull dei dati di origine da una cartella locale o da un contenitore di archiviazione BLOB di Azure.

Inserire i comandi di controllo

Usare i comandi per inserire i dati direttamente nel motore. Questo metodo ignora i servizi di Gestione dati e quindi deve essere usato solo per l'esplorazione e la prototipazione. Non usare questo metodo in scenari di produzione o con volumi elevati.

  • Inserimento inline: viene inviato un comando di controllo inline al motore, con i dati da inserire come parte del testo del comando stesso. Questo metodo è destinato agli scenari di test improvvisati.

  • Inserimento da query: viene inviato al motore il comando di controllo .set, .append, .set-or-append o .set-or-replace, in cui i dati sono specificati in modo indiretto come i risultati di una query o di un comando.

  • Inserimento da risorsa di archiviazione (pull) : viene inviato al motore il comando di controllo .ingest into, con i dati archiviati in una risorsa di archiviazione esterna (ad esempio Archiviazione BLOB di Azure) accessibile dal motore e indicata dal comando.

Confronto tra i metodi e gli strumenti di inserimento

Nome dell'inserimento Tipo di dati Dimensione massima dei file In streaming, in batch, diretto Scenari più comuni Considerazioni
Inserimento con un clic *sv, JSON 1 GB decompresso (vedere la nota) Invio in batch a contenitore, file locale e BLOB nell'inserimento diretto Uno-off, creare uno schema di tabella, definizione dell'inserimento continuo con griglia di eventi, inserimento bulk con contenitore (fino a 5.000 BLOB; nessun limite quando si usa inserimento cronologico)
LightIngest Tutti i formati supportati 1 GB decompresso (vedere la nota) Invio in batch tramite DM o inserimento diretto nel motore Migrazione dei dati, dati cronologici con timestamp di inserimento modificati, inserimento in blocco (nessuna restrizione sulle dimensioni) Con distinzione tra maiuscole e minuscole, con limitazioni di spazio
ADX Kafka Avro, ApacheAvro, JSON, CSV, Parquet e ORC Senza limiti. Eredita restrizioni Java. Invio in batch, streaming Pipeline esistente, consumo elevato di volumi dall'origine. La preferenza può essere determinata dal servizio "più produttori/consumer" già usato o dal modo in cui è desiderato gestire un servizio.
ADX in Apache Spark Ogni formato supportato dall'ambiente Spark Un numero illimitato Creazione di batch Pipeline esistente, pre-elaborazione in Spark prima dell'inserimento, modo rapido per creare una pipeline di streaming sicura (Spark) dalle varie origini supportate dall'ambiente Spark. Valutare il costo del cluster Spark. Per la scrittura batch, confrontare con La connessione dati di Azure Esplora dati per Griglia di eventi. Per lo streaming spark, confrontare con la connessione dati per l'hub eventi.
LogStash JSON Senza limiti. Eredita restrizioni Java. Gli input al connettore sono eventi Logstash e gli output del connettore per Kusto usando l'inserimento in batch. Pipeline esistente, sfruttare la natura matura, open source di Logstash per un consumo elevato di volumi dagli input. La preferenza può essere determinata dal servizio "più produttori/consumer" già usato o dal modo in cui è desiderato gestire un servizio.
Azure Data Factory Formati di dati supportati Limiti *(per restrizioni ADF) Invio in batch o per trigger ADF Supporta formati che in genere non sono supportati, i file di grandi dimensioni, la copia di dati da più di 90 origini, dall'ambiente locale al cloud Questo metodo richiede relativamente più tempo fino a quando i dati non vengono inseriti. ADF carica tutti i dati in memoria e quindi inizia l'inserimento.
Power Automate Tutti i formati supportati 1 GB decompresso (vedere la nota) Creazione di batch Comandi di inserimento come parte del flusso. Usato per automatizzare le pipeline.
App per la logica Tutti i formati supportati 1 GB decompresso (vedere la nota) Creazione di batch Usato per automatizzare le pipeline
Hub IoT Formati di dati supportati N/D Invio in batch, streaming Messaggi, eventi e proprietà IoT
Hub eventi Formati di dati supportati N/D Invio in batch, streaming Messaggi, eventi
Griglia di eventi Formati di dati supportati 1 GB decompresso Batch Inserimento continuo dall'archiviazione di Azure, dati esterni nell'archiviazione di Azure L'inserimento può essere attivato tramite la ridenominazione o le azioni di creazione BLOB
.NET SDK Tutti i formati supportati 1 GB decompresso (vedere la nota) Invio in batch, in streaming, diretto Scrivere il codice secondo le esigenze dell'organizzazione
Python Tutti i formati supportati 1 GB decompresso (vedere la nota) Invio in batch, in streaming, diretto Scrivere il codice secondo le esigenze dell'organizzazione
Node.js Tutti i formati supportati 1 GB decompresso (vedere la nota) Invio in batch, in streaming, diretto Scrivere il codice secondo le esigenze dell'organizzazione
Java Tutti i formati supportati 1 GB decompresso (vedere la nota) Invio in batch, in streaming, diretto Scrivere il codice secondo le esigenze dell'organizzazione
REST Tutti i formati supportati 1 GB decompresso (vedere la nota) Invio in batch, in streaming, diretto Scrivere il codice secondo le esigenze dell'organizzazione
Go Tutti i formati supportati 1 GB decompresso (vedere la nota) Invio in batch, in streaming, diretto Scrivere il codice secondo le esigenze dell'organizzazione

Nota

In riferimento alla tabella riportata sopra, l'inserimento supporta dimensioni dei file fino a 4 GB. È consigliabile inserire file di dimensione compresa tra 100 MB e 1 GB.

Processo di inserimento

Dopo aver scelto il metodo di inserimento più adatto alle proprie esigenze, eseguire queste operazioni:

  1. Impostare criteri di batch (facoltativo)

    Gestione batch esegue il batch di dati di inserimento in base ai criteri di inserimento in batch. Definire un criterio di batch prima dell'inserimento. Vedere procedure consigliate per l'inserimento: ottimizzazione per la velocità effettiva. Le modifiche dei criteri in batch possono richiedere fino a 5 minuti di effetto. I criteri impostano i limiti batch in base a tre fattori: il tempo trascorso dalla creazione batch, il numero accumulato di elementi (BLOB) o le dimensioni totali del batch. Per impostazione predefinita, le impostazioni sono 5 minuti/1000 BLOB/1 GB, con il limite raggiunto per primo prendendo effetto. Di conseguenza, in genere si verifica un ritardo di 5 minuti durante la coda dei dati di esempio per l'inserimento.

  2. Impostare i criteri di conservazione

    I dati inseriti in una tabella in Esplora dati di Azure sono soggetti ai criteri di conservazione effettivi della tabella. A meno che non siano impostati su una tabella in modo esplicito, i criteri di conservazione effettivi sono derivati dai criteri di conservazione del database. La conservazione dei dati attivi è una funzione delle dimensioni del cluster e dei criteri di conservazione. L'inserimento di una quantità di dati superiore allo spazio disponibile forza i primi dati in ingresso nella risorsa di conservazione di dati inattivi.

    Assicurarsi che i criteri di conservazione del database siano appropriati per le specifiche esigenze. In caso contrario, eseguirne l'override in modo esplicito a livello di tabella Per altre informazioni, vedere Criteri di conservazione.

  3. Creare una tabella

    Prima di inserire i dati è necessario creare una tabella. Usare una delle seguenti opzioni:

    Nota

    Se un record è incompleto o un campo non può essere analizzato come tipo di dati necessario, le colonne della tabella corrispondenti verranno popolate con valori Null.

  4. Creare il mapping dello schema

    Il mapping dello schema consente di associare i campi dati di origine alle colonne della tabella di destinazione. Il mapping consente di inserire i dati di origini diverse nella stessa tabella, in base agli attributi definiti. Sono supportati diversi tipi di mapping, sia orientati alle righe (CSV, JSON e AVRO) che orientati alle colonne (Parquet). Nella maggior parte dei metodi i mapping possono essere creati anticipatamente nella tabella ed è possibile farvi riferimento nel parametro del comando di inserimento.

  5. Impostare i criteri di aggiornamento (facoltativo)

    Alcuni mapping del formato dati (Parquet, JSON e Avro) supportano semplici e utili trasformazioni in fase di inserimento. Se lo scenario richiede un'elaborazione più complessa durante l'inserimento, modificare i criteri di aggiornamento, che supportano l'elaborazione semplificata usando i comandi di query. I criteri di aggiornamento eseguono automaticamente le operazioni di estrazione e trasformazione sui dati inseriti nella tabella originale e inseriscono i dati risultanti in una o più tabelle di destinazione.

  6. Inserire dati

    È possibile inserire dati di esempio nella tabella creata nel database usando i comandi o la procedura guidata con un clic. Per inserire dati personalizzati, è possibile selezionare una gamma di opzioni, tra cui strumenti di inserimento, connettori e plug-in per diversi servizi, pipeline gestite, inserimento a livello di codice tramite SDK e accesso diretto all'inserimento.

Passaggi successivi