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à sui 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à 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 i dati tra archivi dati. Azure Esplora dati è supportato come origine, dove i dati sono copiati da Azure Esplora dati a qualsiasi archivio dati supportato e un sink, in cui i dati sono copiati da qualsiasi archivio dati supportato in Azure Esplora dati. Per altre informazioni, vedere Copiare i dati in o da 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 all'interno di Azure e di integrazione self-hosted, usati durante la copia dei dati da/all'archivio dati che si trovano in locale o in una rete con il controllo di accesso, ad esempio un Rete virtuale di Azure. Per altre informazioni, vedere quale ir 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à di ricerca

L'attività Ricerca viene usata per l'esecuzione di query in Azure Esplora dati. Il risultato della query verrà restituito come output dell'attività Ricerca e può essere usato nell'attività successiva nella pipeline, come descritto nella documentazione di Ricerca ADF.

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 dei comandi di gestione di Azure Esplora dati. A differenza delle query, i comandi di gestione possono potenzialmente modificare i dati o i metadati. Alcuni dei comandi di gestione sono destinati ad inserire dati in Azure Esplora dati, usando comandi come .ingesto .set-or-append) o copiare dati da Azure Esplora dati ad archivi dati esterni usando comandi .exportcome . Per una dettagliata procedura dettagliata dell'attività di comando, vedere usare Azure Data Factory attività di comando per eseguire 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à Command rispetto alla attività Copy, vedere selezionare tra le attività Copia e Comando durante la copia dei dati.

Copiare in blocco da un modello di database

La copia in blocco da un database ad Azure Esplora dati usando il modello di Azure Data Factory è una pipeline di Azure Data Factory predefinita. Il modello viene usato per creare molte pipeline per database o per tabella per la copia dei dati più veloce.

Flussi di dati di mapping

Azure Data Factory i flussi di dati di mapping sono trasformazioni di dati progettate visivamente che consentono ai data engineer di sviluppare la logica di trasformazione dati grafica senza scrivere codice. Per creare un flusso di dati e inserire dati in Azure Esplora dati, usare il metodo seguente:

  1. Creare il flusso di dati di mapping.
  2. Esportare i dati in BLOB di Azure.
  3. Definire l'attività di copiagriglia di eventi o ADF per inserire i dati in Azure Esplora dati.

Selezionare tra le attività Copia e Comando di Azure Esplora dati quando si copiano i 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, sono disponibili due opzioni in Azure Data Factory:

  • Attività Copy.
  • Attività comando 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 i 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 ADF esegue una query su Kusto, elabora il risultato e lo invia all'archivio dati di destinazione.
(Archivio dati sink di Azure Esplora dati > ADF>)
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
  • Distribuito (impostazione predefinita), esportazione di dati da più nodi simultaneamente
  • Più veloce e COGS (costo delle merci vendute) efficiente.
Limiti del server I limiti delle query possono essere estesi/disabilitati. Per impostazione predefinita, le query ADF contengono:
  • Limite di dimensioni pari a 500.000 record o 64 MB.
  • Limite di tempo di 10 minuti.
  • noTruncation impostato su false.
Per impostazione predefinita, estende o disabilita i limiti di query:
  • I limiti delle dimensioni sono disabilitati.
  • Il timeout del server viene esteso a 1 ora.
  • MaxMemoryConsumptionPerIterator e MaxMemoryConsumptionPerQueryPerNode vengono estesi al massimo (5 GB, TotalPhysicalMemory/2).

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 i dati in Azure Esplora dati usando i comandi di attività di copia o inserimento, ad esempio l'inserimento da query (.set-or-append, .set-or-replace.set, .replace), 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 da risorsa di archiviazione
.ingest
Descrizione del flusso ADF ottiene i dati dall'archivio dati di origine, lo converte in un formato tabulare ed esegue le modifiche necessarie per il mapping dello schema. ADF carica quindi i dati nei BLOB di Azure, lo suddivide in blocchi, quindi scarica i BLOB per inserirli nella tabella di Esplora dati di Azure.
(Archivio dati >> di origine AZURE BLOB 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 eseguendo il 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.
  • Questi comandi non sono stati progettati per l'importazione di dati con volume elevato.
  • Funziona come previsto e più economico. Tuttavia, per gli scenari di produzione e quando le dimensioni del traffico e dei dati sono grandi, usare la attività Copy.
Limiti del server
  • Nessun limite di dimensioni.
  • Limite massimo di timeout: un'ora per BLOB inserito.
  • Esiste solo un limite di dimensioni nella parte di query, che può essere ignorato specificando noTruncation=true.
  • Limite massimo di timeout: un'ora.
  • Nessun limite di dimensioni.
  • Limite massimo di timeout: un'ora.

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

Nella tabella seguente sono elencate le autorizzazioni necessarie per vari passaggi dell'integrazione con Azure Data Factory.

Passaggio 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 della 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.
  • TestConnection verifica la connessione al cluster e non al database. Può avere esito positivo anche se il database non esiste.
  • Le autorizzazioni di amministratore tabella non sono sufficienti.
Creazione di un set di dati Navigazione 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 Anteprima 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 ha importato 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 per eseguire i comandi a livello .show di database.
  • Tutte le operazioni obbligatorie funzionano con l'ingestor di tabella.
  • Alcune operazioni facoltative possono avere esito negativo.
  • Creare un mapping CSV nella tabella
  • Eliminare il mapping
tabella ingestor o amministratore del database
L'entità servizio deve essere autorizzata a apportare modifiche a una tabella.
Inserire dati tabella ingestor o amministratore del database
L'entità servizio deve essere autorizzata a apportare modifiche a una tabella.
Esplora dati di Azure 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à di ricerca, copia o comando che contiene 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 illustra l'uso dell'attività di copia in cui Azure Esplora dati è il sink. La velocità effettiva stimata per azure Esplora dati sink è di 11-13 MBps. La tabella seguente illustra in dettaglio i parametri che influiscono sulle prestazioni del sink Esplora dati di Azure.

Parametro Note
Prossimità geografica dei componenti Posizionare tutti i componenti nella stessa area:
  • archivi dati di origine e sink.
  • Runtime di integrazione di Azure Data Factory.
  • Il cluster di Azure Esplora dati.
Assicurarsi che almeno il runtime di integrazione si trova nella stessa area del cluster di Azure Esplora dati.
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. Di conseguenza, la copia di un singolo file di grandi dimensioni ha una latenza maggiore 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 di 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 oppure usare la copia bulk dal database al modello di Esplora dati di Azure. Nota: ilgrado di parallelismo delleimpostazioni> 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.
Macchina virtuale che esegue il runtime di integrazione
  • Per la copia di Azure, non è possibile modificare le macchine virtuali ADF e gli SKU del computer.
  • Per la copia da locale ad Azure, determinare che la macchina virtuale che ospita il runtime di integrazione self-hosted è abbastanza complessa.

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 Esplora dati di Azure, 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 suddivide 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 dopo il caricamento di 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.

Mancata 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

Valori di testo seguenti: Hello, "World"
ABC DEF
"ABC\D"EF
"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, notare 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 Esplora dati di Azure. Se si vuole che l'intero elemento dell'oggetto venga mappato 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 di chiusura, 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à

  1. In Azure Data Factory selezionare lo strumento a matita Autore.

  2. In Pipeline selezionare la pipeline in cui si desidera aggiungere altre proprietà di inserimento.

  3. Nell'area di disegno Attività selezionare l'attività Copia dati .

  4. Nei dettagli dell'attività selezionare Sink e quindi espandere Proprietà aggiuntive.

  5. 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à.

  6. Al termine del salvataggio e della pubblicazione della pipeline.

Passaggio successivo