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 la query.
Azure Esplora dati offre un inserimento monouso o la creazione di una pipeline di inserimento continuo, usando l'inserimento in streaming o in coda. Per determinare quale sia la scelta appropriata, vedere Inserimento dati monouso e Inserimento dati continuo.
Nota
I dati vengono salvati in modo permanente nell'archiviazione in base ai criteri di conservazione impostati.
Inserimento dati monouso
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 monouso. Usare l'albero delle decisioni seguente per determinare l'opzione più adatta per il caso d'uso:
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:
Inserimento 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 inseriti nell'archivio righe e quindi trasferiti negli extent dell'archivio colonne. Per altre informazioni, vedere Configurare l'inserimento in streaming.
Inserimento in coda: questo metodo è ottimizzato per una velocità effettiva di inserimento elevata. 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:
Per altre informazioni, vedere la documentazione pertinente:
Callout | Documentazione pertinente |
---|---|
Per un elenco dei connettori, vedere Panoramica dei connettori. | |
Creare una connessione dati di Hub eventi. L'integrazione con Hub eventi offre servizi come la limitazione, i tentativi, 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 hub IoT. L'integrazione con hub IoT offre servizi come la limitazione, i tentativi, il monitoraggio e gli avvisi. | |
Creare una connessione dati di Griglia di eventi. L'integrazione con Griglia di eventi offre servizi come la limitazione, i tentativi, il monitoraggio e gli 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 Esplora dati offre i comandi di gestione dell'inserimento seguenti, che inseriscono i dati direttamente nel cluster anziché usare il servizio di gestione dei dati. Devono essere usati solo per l'esplorazione e la creazione di prototipi e non in scenari di produzione o di volumi elevati.
- Inserimento inline: il comando inline .ingest contiene i dati da inserire come parte del testo del comando stesso. Questo metodo è destinato agli scenari 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 errore, l'inserimento viene eseguito di nuovo e viene ritentato per un massimo di 48 ore usando il metodo di backoff esponenziale per il tempo di attesa tra i tentativi.
Confrontare i metodi di inserimento
La tabella seguente confronta i metodi di inserimento principali:
Nome dell'inserimento | 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 | Pipeline esistente, pre-elaborazione in Spark prima dell'inserimento, modo rapido per creare una pipeline di streaming sicura (Spark) dalle varie origini dei supporto ambientale Spark. | Prendere in considerazione il costo del cluster Spark. Per la scrittura batch, confrontare con Azure Esplora dati connessione dati per Griglia di eventi. Per lo streaming Spark, confrontare con la connessione dati per l'hub 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 i formati non supportati, ad esempio Excel e XML, e può copiare file di grandi dimensioni da oltre 90 origini, da on perm al cloud | Questo metodo richiede relativamente più tempo fino a quando i dati non vengono 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 coda | Inserimento continuo dall'archiviazione di Azure, dati esterni nell'archiviazione di Azure | L'inserimento può essere attivato da azioni di ridenominazione o creazione di BLOB |
Hub eventi | Formati di dati supportati | N/D | In coda, streaming | Messaggi, eventi | |
Ottenere l'esperienza dei dati | *SV, JSON | 1 GB decompresso | Inserimento in coda o 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 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 coda, streaming | Pipeline esistente, utilizzo elevato del volume dall'origine. | 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 | Accodato, 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. |
Più leggero | Formati di dati supportati | 1 GB decompresso | Inserimento in coda o diretto | Migrazione dei dati, dati cronologici con timestamp di inserimento modificati, inserimento bulk | Distinzione tra maiuscole e minuscole e distinzione tra maiuscole e minuscole e distinzione tra spazi |
App per la logica | Formati di dati supportati | 1 GB decompresso | In coda | Usato per automatizzare le pipeline | |
LogStash | JSON | Senza limiti. Eredita le restrizioni Java. | In coda | Pipeline esistente, usare la natura open source matura di Logstash per un utilizzo elevato del volume 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 sono necessarie almeno le autorizzazioni utente del database.
- Per inserire i dati in una tabella esistente, senza modificarne lo schema, sono necessarie almeno le autorizzazioni di Ingestor del database.
- Per modificare lo schema di una tabella esistente, sono necessarie almeno autorizzazioni di amministratore tabella o amministratore del database.
Per altre informazioni, vedere Controllo degli accessi in base al ruolo di Kusto.
Processo di inserimento
I passaggi seguenti descrivono il processo di inserimento generale:
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.
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.
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.
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.
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.
Inserire dati: usare lo strumento di inserimento, il connettore o il metodo preferito per inserire i dati.