Panoramica dell'inserimento dati in Esplora dati di Azure Synapse (anteprima)
L'inserimento dati è il processo usato per caricare i record di dati da una o più origini per importare dati in una tabella in Esplora dati di Azure Synapse. Una volta inseriti, i dati diventano disponibili per le query.
Il servizio di gestione dei dati Esplora dati di Azure Synapse, responsabile dell'inserimento dati, implementa il processo seguente:
- Esegue il pull dei dati in batch o in streaming da un'origine esterna e legge le richieste da una coda di Azure in sospeso.
- Il flusso di dati in batch trasmesso allo stesso database e alla stessa tabella viene ottimizzato per la velocità effettiva di inserimento.
- I dati iniziali vengono convalidati e il formato viene convertito, se necessario.
- Un'ulteriore manipolazione dei dati, che 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.
- Viene eseguito il commit dei dati inseriti nel motore, in cui è disponibile per la query.
Formati di dati, proprietà e autorizzazioni supportati
Proprietà di inserimento: proprietà che determinano la modalità di inserimento dei dati (ad esempio assegnazione di tag, mapping, ora di creazione).
Autorizzazioni: per inserire i dati, il processo richiede autorizzazioni di inseritore nel database. Altre azioni, come l'esecuzione di query, possono richiedere autorizzazioni di amministratore del database, utente del database o amministratore di tabelle.
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 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 di dimensioni dei dati per un comando di inserimento in 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.
Metodi e strumenti di inserimento
Esplora dati di Azure Synapse supporta diversi metodi di inserimento dati, 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. Esplora dati di Azure Synapse supporta le pipeline di Azure seguenti:
- Hub eventi: pipeline che trasferisce gli eventi dai servizi a Esplora dati di Azure Synapse. Per altre informazioni, vedere Inserire dati dall'hub eventi in Esplora dati di Azure Synapse.
- Pipeline di Synapse: un servizio di integrazione dei dati completamente gestito per i carichi di lavoro analitici nelle pipeline di Synapse si connette con più di 90 origini supportate per offrire un trasferimento dati efficiente e resiliente. Le pipeline di Synapse preparano, trasformano e arricchiscono i dati per fornire informazioni dettagliate che possono essere monitorate in diversi modi. Questo servizio può essere usato come soluzione monouso, in una sequenza temporale periodica o essere attivato da eventi specifici.
Inserimento a livello di codice tramite SDK
Esplora dati di Azure Synapse 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.
Prima di iniziare, seguire questa procedura per ottenere gli endpoint del pool di Esplora dati per configurare l'inserimento dati a livello di codice.
Nel riquadro sinistro di Synapse Studio selezionare Gestisci>Pool di Esplora dati.
Selezionare il pool di Esplora dati da usare per visualizzarne i dettagli.
Prendere nota degli endpoint di query e inserimento dati. Usare l'endpoint di query come cluster durante la configurazione delle connessioni al pool di Esplora dati. Quando si configurano gli SDK per l'inserimento dati, usare l'endpoint di inserimento dati.
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 Synapse. 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.
Comandi di controllo dell'inserimento del linguaggio di query Kusto
Sono disponibili diversi metodi che consentono di inserire i dati direttamente nel motore tramite i comandi KQL (Kusto Query Language). Poiché questo metodo ignora i servizi di Gestione dati, è adatto solo a scopo di esplorazione e prototipazione. Non usare questo metodo in scenari di produzione o con volumi elevati.
Inserimento inline: viene inviato al motore il comando di controllo .ingest inline, il cui testo contiene i dati da inserire. 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.
Per un esempio di uso dei comandi di controllo di inserimento, vedere Analizzare con Esplora dati.
Processo di inserimento
Dopo aver scelto il metodo di inserimento più adatto alle proprie esigenze, eseguire queste operazioni:
Impostare i criteri di conservazione
I dati inseriti in una tabella in Esplora dati di Azure Synapse 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.
Crea una tabella
Prima di inserire i dati è necessario creare una tabella. Usare una delle seguenti opzioni:
Creare una tabella con un comando. Per un esempio di utilizzo del comando CREATE TABLE, vedere Analizzare con Esplora dati.
Creare una tabella usando l'inserimento con un clic.
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.
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.
Impostare i criteri di aggiornamento (facoltativo)
Alcuni mapping del formato dati (Parquet, JSON e Avro) supportano semplici e utili trasformazioni in fase di inserimento. Negli scenari che richiedono un'elaborazione più complessa al momento dell'inserimento usare i criteri di aggiornamento, che supportano l'elaborazione leggera usando i comandi del linguaggio di query Kusto. 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. Impostare i criteri di aggiornamento.