Integrare Esplora dati di Azure con Azure Data Factory
Azure Data Factory (ADF) è un servizio di integrazione dei dati basato sul cloud che consente di integrare archivi dati diversi ed eseguire attività su tali dati. ADF consente di creare flussi di lavoro basati sui dati per orchestrare e automatizzare lo spostamento e la trasformazione dei dati. Azure Esplora dati è uno degli archivi dati supportati in Azure Data Factory.
Attività di Azure Data Factory per Azure Esplora dati
Sono disponibili varie integrazioni con Azure Data Factory per gli utenti di Azure Esplora dati:
Attività di copia
Azure Data Factory attività Copy viene usato per trasferire dati tra archivi dati. Azure Esplora dati è supportato come origine, in cui i dati vengono copiati da Azure Esplora dati a qualsiasi archivio dati supportato e un sink, in cui i dati vengono copiati da qualsiasi archivio dati supportato in Azure Esplora dati. Per altre informazioni, vedere Copiare dati da o verso Azure Esplora dati usando Azure Data Factory. Per una procedura dettagliata, vedere Caricare i dati da Azure Data Factory in Azure Esplora dati. Azure Esplora dati è supportato da Azure IR (Integration Runtime), usato quando i dati vengono copiati in Azure e il runtime di integrazione self-hosted, usati per copiare dati da/in archivi dati situati in locale o in una rete con il controllo di accesso, ad esempio un'istanza di Azure Rete virtuale. Per altre informazioni, vedere il runtime di integrazione da usare.
Suggerimento
Quando si usa l'attività di copia e si crea un servizio collegato o un set di dati, selezionare l'archivio dati di Azure Esplora dati (Kusto) e non l'archivio dati precedente Kusto.
Attività Lookup
L'attività Lookup viene usata per l'esecuzione di query in Azure Esplora dati. Il risultato della query verrà restituito come output dell'attività Lookup e può essere usato nell'attività successiva nella pipeline come descritto nella documentazione di Ricerca di Azure Data Factory.
Oltre al limite di dimensioni della risposta di 5.000 righe e 2 MB, l'attività ha anche un limite di timeout di query di 1 ora.
Attività di comando
L'attività Command consente l'esecuzione di comandi di gestione Esplora dati di Azure. A differenza delle query, i comandi di gestione possono potenzialmente modificare dati o metadati. Alcuni comandi di gestione sono destinati all'inserimento di dati in Azure Esplora dati, usando comandi come .ingest
o .set-or-append
) o copiando dati da Azure Esplora dati ad archivi dati esterni usando comandi come .export
.
Per una procedura dettagliata dell'attività dei comandi, vedere Usare l'attività dei comandi di Azure Data Factory per eseguire i comandi di gestione di Azure Esplora dati. L'uso di un comando di gestione per copiare i dati può, a volte, essere un'opzione più veloce e più economica rispetto alla attività Copy. Per determinare quando usare l'attività Comando rispetto al attività Copy, vedere Selezionare tra le attività Copia e Comando durante la copia dei dati.
Copiare in blocco da un modello di database
La funzionalità Copia in blocco da un database ad Azure Esplora dati usando il modello di Azure Data Factory è una pipeline predefinita di Azure Data Factory. Il modello viene usato per creare molte pipeline per database o per tabella per una copia più rapida dei dati.
Flussi di dati di mapping
I flussi di dati di mapping di Azure Data Factory sono trasformazioni dei dati progettate visivamente che consentono ai data engineer di sviluppare logica di trasformazione grafica dei dati senza scrivere codice. Per creare un flusso di dati e inserire dati in Azure Esplora dati, usare il metodo seguente:
- Creare il flusso di dati di mapping.
- Esportare i dati nel BLOB di Azure.
- Definire l'attività di copia di Griglia di eventi o ADF per inserire i dati in Azure Esplora dati.
Selezionare tra le attività Copia e Comando di Azure Esplora dati durante la copia dei dati
Questa sezione consente di selezionare l'attività corretta per le esigenze di copia dei dati.
Quando si copiano dati da o in Azure Esplora dati, in Azure Data Factory sono disponibili due opzioni:
- Attività Copy.
- Attività command di Azure Esplora dati, che esegue uno dei comandi di gestione che trasferisce i dati in Azure Esplora dati.
Copiare dati da Azure Esplora dati
È possibile copiare dati da Azure Esplora dati usando l'attività di copia o il .export
comando . Il .export
comando esegue una query e quindi esporta i risultati della query.
Per un confronto tra attività Copy e .export
comando per la copia dei dati da Azure Esplora dati, vedere la tabella seguente.
Attività di copia | Comando .export | |
---|---|---|
Descrizione del flusso | Azure Data Factory esegue una query in Kusto, elabora il risultato e lo invia all'archivio dati di destinazione. (Azure Esplora dati > archivio dati sink di Azure Data Factory>) |
ADF invia un .export comando di gestione ad Azure Esplora dati, che esegue il comando e invia i dati direttamente all'archivio dati di destinazione. (** Archivio dati sink di Azure Esplora dati>**) |
Archivi dati di destinazione supportati | Un'ampia gamma di archivi dati supportati | ADLSv2, BLOB di Azure, database SQL |
Prestazioni | Centralizzato |
|
Limiti del server | I limiti delle query possono essere estesi/disabilitati. Per impostazione predefinita, le query di Azure Data Factory contengono:
|
Per impostazione predefinita, estende o disabilita i limiti delle query:
|
Suggerimento
Se la destinazione di copia è uno degli archivi dati supportati dal .export
comando e se nessuna delle funzionalità di attività Copy è fondamentale per le proprie esigenze, selezionare il .export
comando.
Copia dei dati in Azure Esplora dati
È possibile copiare dati in Azure Esplora dati usando l'attività di copia o i comandi di inserimento, ad esempio l'inserimento da query (.set-or-append
, .set-or-replace
, .replace)
.set
, e l'inserimento dall'archiviazione (.ingest
).
Per un confronto tra i comandi di attività Copy e inserimento per la copia dei dati in Azure Esplora dati, vedere la tabella seguente.
Attività di copia | Inserimento da query.set-or-append / .set-or-replace / .set / .replace |
Inserimento dalla risorsa di archiviazione .ingest |
|
---|---|---|---|
Descrizione del flusso | ADF ottiene i dati dall'archivio dati di origine, lo converte in un formato tabulare e apporta le modifiche necessarie al mapping dello schema. Azure Data Factory carica quindi i dati nei BLOB di Azure, li suddivide in blocchi, quindi scarica i BLOB per inserirli nella tabella Esplora dati di Azure. (Archivio dati > > di origine BLOB > di Azure azure di Azure Esplora dati) |
Questi comandi possono eseguire una query o un .show comando e inserire i risultati della query in una tabella (Azure Esplora dati > Azure Esplora dati). |
Questo comando inserisce i dati in una tabella "pull" dei dati da uno o più artefatti di archiviazione cloud. |
Archivi dati di origine supportati | varietà di opzioni | ADLS Gen 2, BLOB di Azure, SQL (usando il plug-in sql_request(), Azure Cosmos DB (usando il plug-in cosmosdb_sql_request) e qualsiasi altro archivio dati che fornisce API HTTP o Python. | File system, Archiviazione BLOB di Azure, ADLS Gen 1, ADLS Gen 2 |
Prestazioni | Gli inserimenti vengono accodati e gestiti, che garantisce inserimenti di piccole dimensioni e garantisce la disponibilità elevata fornendo bilanciamento del carico, tentativi e gestione degli errori. |
|
|
Limiti del server |
|
|
|
Suggerimento
- Quando si copiano dati da ADF ad Azure Esplora dati usare i
ingest from query
comandi. - Per set di dati di grandi dimensioni (>1 GB), usare il attività Copy.
Autorizzazioni necessarie
La tabella seguente elenca le autorizzazioni necessarie per vari passaggi dell'integrazione con Azure Data Factory.
Procedi | Operazione | Livello minimo di autorizzazioni | Note |
---|---|---|---|
Creare un servizio collegato | Navigazione nel database | Visualizzatore di database L'utente connesso che usa ADF deve essere autorizzato a leggere i metadati del database. |
L'utente può specificare manualmente il nome del database. |
Test connessione | monitoraggio del database o ingestor di tabelle L'entità servizio deve essere autorizzata a eseguire comandi a livello di database o inserimento a livello .show di tabella. |
|
|
Creazione di un set di dati | Spostamento tra tabelle | monitoraggio del database L'utente connesso con ADF deve essere autorizzato a eseguire comandi a livello .show di database. |
L'utente può specificare manualmente il nome della tabella. |
Creazione di un set di dati o di un'attività di copia | Creare l'anteprima dei dati | Visualizzatore di database L'entità servizio deve essere autorizzata a leggere i metadati del database. |
|
Importa schema | Visualizzatore di database L'entità servizio deve essere autorizzata a leggere i metadati del database. |
Quando Azure Esplora dati è l'origine di una copia tabulare da tabulare a tabulare, ADF importa automaticamente lo schema, anche se l'utente non importa lo schema in modo esplicito. | |
Azure Esplora dati come sink | Creare un mapping di colonna in base al nome | monitoraggio del database L'entità servizio deve essere autorizzata a eseguire comandi a livello .show di database. |
|
|
tabella ingestor o amministratore del database L'entità servizio deve essere autorizzata a apportare modifiche a una tabella. |
||
Inserire i dati | tabella ingestor o amministratore del database L'entità servizio deve essere autorizzata a apportare modifiche a una tabella. |
||
Azure Esplora dati come origine | Eseguire la query | Visualizzatore di database L'entità servizio deve essere autorizzata a leggere i metadati del database. |
|
Comando Kusto | In base al livello di autorizzazioni di ogni comando. |
Prestazioni
Se Azure Esplora dati è l'origine e si usa l'attività ricerca, copia o comando contenente una query in cui fare riferimento alle procedure consigliate per le query per informazioni sulle prestazioni e documentazione di Azure Data Factory per l'attività di copia.
Questa sezione descrive l'uso dell'attività di copia in cui Azure Esplora dati è il sink. La velocità effettiva stimata per il sink di Azure Esplora dati è di 11-13 MBps. La tabella seguente illustra in dettaglio i parametri che influenzano le prestazioni del sink di Azure Esplora dati.
Parametro | Note |
---|---|
Prossimità geografica dei componenti | Posizionare tutti i componenti nella stessa area:
|
Numero di DIU | Una macchina virtuale per ogni quattro DIU usate da Azure Data Factory. L'aumento delle DIU consente solo se l'origine è un archivio basato su file con più file. Ogni macchina virtuale elabora quindi un file diverso in parallelo. Pertanto, la copia di un singolo file di grandi dimensioni ha una latenza superiore rispetto alla copia di più file più piccoli. |
Quantità e SKU del cluster di Azure Esplora dati | Il numero elevato di nodi di Azure Esplora dati aumenta il tempo di elaborazione dell'inserimento. L'uso degli SKU di sviluppo limiterà gravemente le prestazioni |
Parallelism | Per copiare una grande quantità di dati da un database, partizionare i dati e quindi usare un ciclo ForEach che copia ogni partizione in parallelo o usare la copia bulk dal database al modello di Esplora dati di Azure. Nota: il grado di parallelismo delle impostazioni>nel attività Copy non è rilevante per azure Esplora dati. |
Complessità dell'elaborazione dati | La latenza varia in base al formato del file di origine, al mapping delle colonne e alla compressione. |
La macchina virtuale che esegue il runtime di integrazione |
|
Suggerimenti e insidie comuni
Monitorare l'avanzamento dell'attività
Quando si monitora l'avanzamento dell'attività, la proprietà Scrittura dati può essere maggiore della proprietà Lettura dati perché la lettura dei dati viene calcolata in base alle dimensioni del file binario, mentre i dati scritti vengono calcolati in base alle dimensioni in memoria, dopo che i dati vengono deserializzati e decompressi.
Quando si monitora lo stato di avanzamento dell'attività, è possibile vedere che i dati sono scritti nel sink di Azure Esplora dati. Quando si esegue una query sulla tabella di Azure Esplora dati, si noterà che i dati non sono arrivati. Ciò è dovuto al fatto che durante la copia in Azure Esplora dati sono presenti due fasi.
- La prima fase legge i dati di origine, la divide in blocchi da 900 MB e carica ogni blocco in un BLOB di Azure. La prima fase viene visualizzata dalla visualizzazione dello stato di avanzamento dell'attività di Azure Data Factory.
- La seconda fase inizia una volta caricati tutti i dati nei BLOB di Azure. I nodi del cluster scaricano i BLOB e inseriscono i dati nella tabella sink. I dati vengono quindi visualizzati nella tabella Esplora dati di Azure.
Errore di inserimento di file CSV a causa di un'escape non corretta
Azure Esplora dati prevede l'allineamento dei file CSV con RFC 4180. Si prevede:
- I campi che contengono caratteri che richiedono l'escape (ad esempio " e le nuove righe) devono iniziare e terminare con un carattere " senza spazi vuoti. Tutti i caratteri " all'interno del campo vengono preceduti da un carattere doppio """. Ad esempio, "Hello, ""World"" è un file CSV valido con un singolo record con una singola colonna o campo con il contenuto Hello, "World".
- Tutti i record nel file devono avere lo stesso numero di colonne e campi.
Azure Data Factory consente il carattere barra rovesciata (escape). Se si genera un file CSV con un carattere barra rovesciata usando Azure Data Factory, l'inserimento del file in Azure Esplora dati avrà esito negativo.
Esempio
I valori di testo seguenti: Hello, "World"
ABC DEF
EF "ABC\D"
"ABC DEF
Dovrebbe essere visualizzato in un file CSV appropriato come indicato di seguito: "Hello, ""World"""
"ABC DEF"
""ABC\D""EF"
""ABC DEF"
Usando il carattere di escape predefinito (barra rovesciata), il file CSV seguente non funzionerà con Azure Esplora dati: "Hello, "World""
"ABC DEF"
""ABC\D"EF"
""ABC DEF"
Oggetti JSON annidati
Quando si copia un file JSON in Azure Esplora dati, tenere presente che:
- Le matrici non sono supportate.
- Se la struttura JSON contiene tipi di dati oggetto, Azure Data Factory appiattirà gli elementi figlio dell'oggetto e tenterà di eseguire il mapping di ogni elemento figlio a una colonna diversa nella tabella di Azure Esplora dati. Se si vuole eseguire il mapping dell'intero elemento oggetto a una singola colonna in Azure Esplora dati:
- Inserire l'intera riga JSON in una singola colonna dinamica in Azure Esplora dati.
- Modificare manualmente la definizione della pipeline usando l'editor JSON di Azure Data Factory. In Mapping
- Rimuovere i mapping multipli creati per ogni elemento figlio e aggiungere un singolo mapping che esegue il mapping del tipo di oggetto alla colonna della tabella.
- Dopo la parentesi quadra chiusa, aggiungere una virgola seguita da:
"mapComplexValuesToString": true
.
Specificare proprietà aggiuntive durante la copia in Azure Esplora dati
È possibile aggiungere altre proprietà di inserimento specificandole nell'attività di copia nella pipeline.
Per aggiungere proprietà
In Azure Data Factory selezionare lo strumento a forma di matita Autore .
In Pipeline selezionare la pipeline in cui si vogliono aggiungere altre proprietà di inserimento.
Nell'area di disegno Attività selezionare l'attività Copia dati .
Nei dettagli dell'attività selezionare Sink e quindi espandere Proprietà aggiuntive.
Selezionare Nuovo, selezionare Aggiungi nodo o Aggiungi matrice in base alle esigenze e quindi specificare il nome e il valore della proprietà di inserimento. Ripetere questo passaggio per aggiungere altre proprietà.
Al termine del salvataggio e della pubblicazione della pipeline.