Condividi tramite


Panoramica dell'inserimento dati in Esplora dati di Azure

L'inserimento dati comporta il caricamento di dati in una tabella nel cluster. Azure Esplora dati garantisce la validità dei dati, converte i formati in base alle esigenze ed esegue manipolazioni come la corrispondenza dello schema, l'organizzazione, l'indicizzazione, la codifica e la compressione. Una volta inseriti, i dati sono disponibili per l'interrogazione.

Azure Data Explorer offre l'inserimento una tantum o la creazione di una pipeline di inserimento continuo, utilizzando l'ingestione in coda o in streaming. Per determinare quale sia la scelta giusta per te, consultare acquisizione dati una tantum e acquisizione dati continua.

Nota

I dati vengono salvati in modo permanente nell'archiviazione in base ai criteri di conservazione impostati.

Inserimento dati una tantum

L'inserimento monouso è utile per il trasferimento di dati cronologici, la compilazione di dati mancanti e le fasi iniziali di creazione di prototipi e analisi dei dati. Questo approccio facilita l'integrazione rapida dei dati senza la necessità di un impegno continuo della pipeline.

Esistono diversi modi per eseguire l'inserimento dati una tantum. Usare l'albero delle decisioni seguente per determinare l'opzione più adatta per il caso d'uso:

Diagramma di flusso per il processo decisionale di inserimento una tantum.

Per altre informazioni, vedere la documentazione pertinente:

Callout Documentazione pertinente
Per l'inserimento, vedere i formati di dati supportati da Azure Esplora dati.
Vedere i formati di file supportati per le pipeline di Azure Data Factory.
Per importare dati da un sistema di archiviazione esistente, vedere Come inserire dati cronologici in Azure Esplora dati.
Nell'interfaccia utente Web di Azure Esplora dati è possibile ottenere dati da un file locale, Amazon S3 o Archiviazione di Azure.
Per l'integrazione con Azure Data Factory, vedere Copiare dati in Azure Esplora dati usando Azure Data Factory.
Le librerie client Kusto sono disponibili per C#, Python, Java, JavaScript, TypeScript e Go. È possibile scrivere codice per modificare i dati e quindi usare la libreria Di inserimento Kusto per inserire i dati nella tabella di Azure Esplora dati. I dati devono trovarsi in uno dei formati supportati prima dell'inserimento.

Inserimento dati continuo

L'inserimento continuo eccelle in situazioni in cui le informazioni dettagliate immediate dai dati in tempo reale sono richieste. Ad esempio, l'inserimento continuo è utile per i sistemi di monitoraggio, i dati di log ed eventi e l'analisi in tempo reale.

L'inserimento continuo dei dati comporta la configurazione di una pipeline di inserimento con inserimento in streaming o in coda:

  • Ingestione in streaming: questo metodo garantisce una latenza quasi in tempo reale per piccoli set di dati per tabella. I dati vengono inseriti in micro batch da un'origine di streaming, inizialmente collocati nell'archivio di righe e quindi trasferiti nelle estensioni dell'archivio di colonne. Per ulteriori informazioni, vedere Configurare l'inserimento in streaming.

  • Inserimento in coda: questo metodo è ottimizzato per un'elevata velocità di inserimento. I dati vengono inseriti in batch in base alle proprietà di inserimento, con batch di piccole dimensioni, quindi uniti e ottimizzati per risultati rapidi delle query. Per impostazione predefinita, i valori massimi in coda sono 5 minuti, 1000 elementi o una dimensione totale di 1 GB. Il limite di dimensioni dei dati per un comando di inserimento in coda è di 6 GB. Questo metodo usa meccanismi di ripetizione dei tentativi per attenuare gli errori temporanei e segue la semantica di messaggistica "almeno una volta" per assicurarsi che non vengano persi messaggi nel processo. Per altre informazioni sull'inserimento in coda, vedere Criteri di inserimento in batch.

Nota

Per la maggior parte degli scenari, è consigliabile usare l'inserimento in coda perché è l'opzione più efficiente.

Esistono diversi modi per configurare l'inserimento continuo dei dati. Usare l'albero delle decisioni seguente per determinare l'opzione più adatta per il caso d'uso:

Diagramma dell'albero delle decisioni per l'inserimento continuo.

Per altre informazioni, vedere la documentazione pertinente:

Callout Documentazione pertinente
Per un elenco dei connettori, vedere Panoramica dei connettori.
Creare una connessione dati Event Hubs. L'integrazione con Hub Eventi offre servizi come la limitazione, le riesecuzioni, il monitoraggio e gli avvisi.
Inserire dati da Apache Kafka, una piattaforma di streaming distribuita per la creazione di pipeline di dati di streaming in tempo reale.
Creare una connessione dati dell'hub IoT. L'integrazione con hub IoT offre servizi come la limitazione, i tentativi, il monitoraggio e gli avvisi.
Creare una connessione dati a Event Grid. L'integrazione con Event Grid fornisce servizi quali limitazione del flusso, tentativi di invio, monitoraggio e avvisi.
Vedere le linee guida per il connettore pertinente, ad esempio Apache Spark, Apache Kafka, Azure Cosmos DB, Fluent Bit, Logstash, Open Telemetry, Power Automate, Splunk e altro ancora. Per altre informazioni, vedere Panoramica dei connettori.
Le librerie client Kusto sono disponibili per C#, Python, Java, JavaScript, TypeScript e Go. È possibile scrivere codice per modificare i dati e quindi usare la libreria Di inserimento Kusto per inserire i dati nella tabella di Azure Esplora dati. I dati devono trovarsi in uno dei formati supportati prima dell'inserimento.

Nota

L'inserimento in streaming non è supportato per tutti i metodi di inserimento. Per informazioni dettagliate sul supporto, vedere la documentazione relativa al metodo di inserimento specifico.

Inserimento diretto con comandi di gestione

Azure Data Explorer offre i seguenti comandi per la gestione dell'ingestione, che permettono di inserire i dati direttamente nel cluster senza utilizzare il servizio di gestione dati. Devono essere usati solo per l'esplorazione e la creazione di prototipi e non in scenari di produzione o di volumi elevati.

  • Ingestione inline: il comando .ingest inline contiene i dati da inserire come parte del testo del comando stesso. Questo metodo è destinato a scopi di test improvvisati.
  • Inserimento dalla query: i comandi .set, .append, .set-or-append o .set-or-replace specificano indirettamente i dati da inserire come risultati di una query o di un comando.
  • Inserimento dall'archiviazione: il comando .ingest into ottiene i dati da inserire da una risorsa di archiviazione esterna, ad esempio Archiviazione BLOB di Azure, accessibile dal cluster e a cui punta il comando .

Nota

In caso di guasto, l'ingestione viene eseguita nuovamente e viene ripetuta per un massimo di 48 ore usando il metodo esponenziale di backoff per il tempo di attesa tra i tentativi.

Confrontare i metodi di inserimento

La tabella seguente confronta i metodi di inserimento principali:

Nome dell'ingestione Tipo di dati Dimensione massima dei file Streaming, in coda, diretto Scenari più comuni Considerazioni
Connettore Apache Spark Ogni formato supportato dall'ambiente Spark Illimitato In coda La pipeline esistente, pre-elaborazione in Spark prima dell'ingestione, modo rapido per creare una pipeline di streaming sicura con Spark da varie fonti dal quale l'ambiente Spark offre supporto. Prendere in considerazione il costo del cluster Spark. Per la scrittura batch, confrontare con la connessione di dati di Azure Data Explorer per Event Grid. Per lo streaming di Spark, confrontare con la connessione dati per l'hub per eventi.
Azure Data Factory Formati di dati supportati Senza limiti. Eredita le restrizioni di Azure Data Factory. Accodato o per trigger di Azure Data Factory Supporta formati non supportati, ad esempio Excel e XML, e può copiare file di grandi dimensioni da oltre 90 origini, dall'ambiente locale al cloud Questo metodo richiede un po' più tempo prima che i dati vengano inseriti. Azure Data Factory carica tutti i dati in memoria e quindi inizia l'inserimento.
Griglia di eventi Formati di dati supportati 1 GB decompresso In attesa Inserimento continuo dall'archiviazione di Azure, dati esterni nell'archiviazione di Azure L'ingestione può essere attivata da azioni di ridenominazione o creazione di blob.
Hub eventi Formati di dati supportati N/D In attesa, streaming Messaggi, eventi
Acquisisci esperienza con i dati *SV, JSON 1 GB decompresso Inserimento in coda o diretto Una tantum, creare uno schema di tabella, definizione dell'inserimento continuo con Event Grid, inserimento in blocco con contenitore (fino a 5.000 blob; nessun limite quando si usa l'inserimento cronologico)
Hub IoT Formati di dati supportati N/D In coda, streaming Messaggi, eventi e proprietà IoT
Connettore Kafka Avro, ApacheAvro, JSON, CSV, Parquet e ORC Senza limiti. Eredita le restrizioni Java. In attesa, streaming Pipeline esistente, elevato consumo della sorgente. La preferenza può essere determinata dall'uso esistente di più produttori o servizi consumer o dal livello desiderato di gestione dei servizi.
Librerie client Kusto Formati di dati supportati 1 GB decompresso In coda, streaming, diretto Scrivere il codice secondo le esigenze dell'organizzazione L'inserimento a livello di codice è ottimizzato per ridurre i costi di inserimento (COG) riducendo al minimo le transazioni di archiviazione durante e seguendo il processo di inserimento.
LightIngest Formati di dati supportati 1 GB decompresso Ingestione in coda o diretta Migrazione dei dati, dati cronologici con timestamp di ingestione modificati, ingestione in massa Sensibile alle maiuscole e agli spazi
Logic Apps Formati di dati supportati 1 GB decompresso In attesa Usato per automatizzare le pipeline
LogStash JSON Senza limiti. Eredita le restrizioni Java. In coda La pipeline esistente, usa la natura open source matura di Logstash per un consumo elevato di dati dagli input. La preferenza può essere determinata dall'uso esistente di più produttori o servizi consumer o dal livello desiderato di gestione dei servizi.
Power Automate Formati di dati supportati 1 GB decompresso In coda Comandi di inserimento come parte del flusso. Usato per automatizzare le pipeline.

Per informazioni su altri connettori, vedere Panoramica dei connettori.

Autorizzazioni

L'elenco seguente descrive le autorizzazioni necessarie per vari scenari di inserimento:

  • Per creare una nuova tabella, è necessario disporre almeno delle autorizzazioni Utente database.
  • Per inserire dati in una tabella esistente, senza modificarne lo schema, è necessario disporre almeno delle autorizzazioni Table Ingestor.
  • Per modificare lo schema di una tabella esistente, è necessario disporre almeno delle autorizzazioni di amministratore tabella o amministratore del database.

Nella tabella seguente vengono descritte le autorizzazioni necessarie per ogni metodo di inserimento:

Metodo di ingestione Autorizzazioni
Ingestione unica Almeno Table Ingestor
Inserimento in streaming continuo Almeno Table Ingestor
Inserimento in coda continuo Almeno Table Ingestor
Inserimento in linea diretto Almeno Ingestor tabella e visualizzatore di database
Inserimento diretto dalla query Almeno: Ingestore di tabelle e anche visualizzatore di database
Inserimento diretto dall'archiviazione Almeno Table Ingestor

Per altre informazioni, vedere Controllo degli accessi in base al ruolo di Kusto.

Processo di ingestione

I passaggi seguenti descrivono il processo di inserimento generale:

  1. Impostare i criteri di invio in batch (facoltativo): i dati vengono inseriti in batch in base ai criteri di inserimento in batch. Per indicazioni, vedere Ottimizzare la velocità effettiva.

  2. Impostare i criteri di conservazione (facoltativo): se i criteri di conservazione del database non sono adatti alle proprie esigenze, eseguirne l'override a livello di tabella. Per altre informazioni, vedere Criteri di conservazione.

  3. Creare una tabella: se si usa l'esperienza Recupera dati, è possibile creare una tabella come parte del flusso di inserimento. In caso contrario, creare una tabella prima dell'inserimento nell'interfaccia utente Web di Azure Esplora dati o con il comando .create table.

  4. Creare un mapping dello schema: i mapping dello schema consentono di associare i campi dati di origine alle colonne della tabella di destinazione. Sono supportati diversi tipi di mapping, inclusi formati orientati alle righe, ad esempio CSV, JSON e AVRO, e formati orientati alle colonne come Parquet. Nella maggior parte dei metodi, i mapping possono anche essere precreati nella tabella.

  5. Impostare i criteri di aggiornamento (facoltativo): alcuni formati di dati come Parquet, JSON e Avro consentono trasformazioni semplici in fase di inserimento. Per un'elaborazione più complessa durante l'inserimento, usare i criteri di aggiornamento. Questo criterio esegue automaticamente le estrazioni e le trasformazioni sui dati inseriti all'interno della tabella originale, quindi inserisce i dati modificati in una o più tabelle di destinazione.

  6. Inserire dati: usare lo strumento di inserimento, il connettore o il metodo preferito per inserire i dati.