Runtime di integrazione in Azure Data Factory

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Il Integration Runtime (IR) è l'infrastruttura di calcolo usata dalle pipeline Azure Data Factory e Azure Synapse per fornire le funzionalità di integrazione dei dati seguenti in ambienti di rete diversi:

  • Data Flow: eseguire un'istanza di Data Flow nell'ambiente di calcolo di Azure gestito.
  • Spostamento dati: consente di copiare dati tra gli archivi dati nella rete pubblica e gli archivi dati nella rete privata (ambiente locale o VPN). Fornisce il supporto per i connettori predefiniti, la conversione dei formati, il mapping di colonne e il trasferimento di dati scalabile e ad alte prestazioni.
  • Invio di attività: invio e monitoraggio delle attività di trasformazione in esecuzione in un'ampia gamma di servizi di calcolo, ad esempio Azure Databricks, Azure HDInsight, ML Studio (versione classica), database SQL di Azure, SQL Server e altro ancora.
  • Esecuzione di pacchetti SSIS: eseguire in modo nativo i pacchetti SQL Server Integration Services (SSIS) in un ambiente di calcolo Azure gestito.

Nelle Data Factory e Synapse un'attività definisce l'azione da eseguire. Un servizio collegato definisce un archivio dati o un servizio di calcolo di destinazione. Un runtime di integrazione funge da ponte tra l'attività e i servizi collegati. Fa riferimento al servizio o all'attività collegata e fornisce l'ambiente di calcolo in cui viene eseguita l'attività o da cui viene inviata l'attività. In questo modo, l'attività può essere eseguita nell'area più vicina possibile all'archivio dati o al servizio di calcolo di destinazione nel modo più efficiente soddisfacendo al contempo le esigenze di sicurezza e conformità.

I runtime di integrazione possono essere creati nell'interfaccia utente di Azure Data Factory e Azure Synapse tramite l'hub di gestione e qualsiasi attività, set di dati o flusso di dati che li fa riferimento.

Tipi di runtime di integrazione

Data Factory offre tre tipi di Integration Runtime (IR) ed è consigliabile scegliere il tipo più adatto alle funzionalità di integrazione dei dati e alle esigenze dell'ambiente di rete che si stanno cercando. Questi tre tipi sono:

  • Azure
  • Self-hosted
  • Azure-SSIS

Nota

Le pipeline synapse attualmente supportano solo i runtime di integrazione di Azure o self-hosted.

Nella tabella seguente vengono descritte le funzionalità e il supporto di rete per ogni tipo di runtime di integrazione:

Tipo di runtime di integrazione Rete pubblica Rete privata
Azure Flusso di dati
Spostamento dati
Invio di attività
Flusso di dati
Spostamento dati
Invio di attività
Self-hosted Spostamento dati
Invio di attività
Spostamento dati
Invio di attività
Azure-SSIS Esecuzione pacchetti SSIS Esecuzione pacchetti SSIS

Runtime di integrazione di Azure

Un runtime di integrazione di Azure può:

  • Eseguire flussi di dati in Azure
  • Eseguire l'attività di copia tra archivi dati cloud
  • Inviare le attività di trasformazione seguenti nella rete pubblica: attività Databricks Notebook/Jar/Python, attività Hive di HDInsight, attività Pig di HDInsight, attività HDInsight MapReduce, attività HDInsight Spark, attività streaming di HDInsight, ML Studio (versione classica) attività Batch Execution, attività di aggiornamento di ML Studio (versione classica), attività stored procedure, attività Data Lake Analytics U-SQL, attività personalizzata .NET, attività Web, attività di ricerca e attività Get Metadata.

Ambiente di rete del runtime di integrazione di Azure

Azure Integration Runtime supporta la connessione agli archivi dati e calcola i servizi con endpoint pubblici accessibili. L'abilitazione della rete virtuale gestita Azure Integration Runtime la connessione agli archivi dati tramite il servizio collegamento privato nell'ambiente di rete privata.

Risorsa di calcolo e ridimensionamento del runtime di integrazione di Azure

Il runtime di integrazione di Azure fornisce un calcolo senza server completamente gestito in Azure. Non è necessario preoccuparsi del provisioning dell'infrastruttura, dell'installazione del software, dell'applicazione di patch o del ridimensionamento della capacità. Inoltre si paga solo per la durata dell'utilizzo effettivo.

Il runtime di integrazione di Azure fornisce il calcolo nativo per spostare i dati tra gli archivi dati cloud in modo sicuro, affidabile e ad alte prestazioni. È possibile impostare il numero di unità di integrazione dati da usare per l'attività di copia; le dimensioni di calcolo del runtime di integrazione di Azure vengono aumentate di conseguenza in modo elastico senza che sia necessario modificare in modo esplicito le dimensioni del runtime di integrazione di Azure.

L'invio di attività è un'operazione leggera per instradare l'attività al servizio di calcolo di destinazione, quindi non è necessario aumentare le dimensioni di calcolo per questo scenario.

Per informazioni sulla creazione e la configurazione di un Azure IR, vedere Come creare e configurare Azure Integration Runtime.

Nota

Il runtime di integrazione di Azure ha proprietà correlate al runtime di Data Flow, che definisce l'infrastruttura di calcolo sottostante che verrà usata per eseguire i flussi di dati.

Runtime di integrazione self-hosted

Un runtime di integrazione self-hosted è in grado di eseguire queste operazioni:

  • Eseguire attività di copia tra gli archivi dati cloud e un archivio dati in una rete privata.
  • Invio delle attività di trasformazione seguenti alle risorse di calcolo in locale o in Rete virtuale di Azure: attività Hive di HDInsight (BYOC-Bring Your Own Cluster), attività Pig di HDInsight (BYOC), attività di hdInsight MapReduce (BYOC), attività HDInsight Spark (BYOC), ML Studio (versione classica) attività Batch Execution, ML Studio (versione classica) Aggiornare le attività delle risorse, l'attività Stored procedure, l'attività Data Lake Analytics U-SQL, l'attività personalizzata (in esecuzione in Azure Batch), l'attività Lookup e l'attività Get Metadata.

Nota

Usare il runtime di integrazione self-hosted per supportare gli archivi dati che richiedono driver Bring Your Own, ad esempio SAP Hana, MySQL e così via. Per altre informazioni, vedere archivi dati supportati.

Nota

Java Runtime Environment (JRE) è una dipendenza del self-hosted IR. Assicurarsi che JRE sia installato nello stesso host.

Ambiente di rete del runtime di integrazione self-hosted

Se si vuole eseguire l'integrazione dei dati in modo sicuro in un ambiente di rete privata, che non dispone di una linea di vista diretta dall'ambiente cloud pubblico, è possibile installare un ambiente di integrazione self-hosted in locale dietro il firewall aziendale o all'interno di una rete privata virtuale. Il runtime di integrazione self-hosted stabilisce solo connessioni basate su HTTP in uscita per accedere a Internet.

Risorsa di calcolo e ridimensionamento del runtime di integrazione self-hosted

Installare il servizio di IR self-hosted in un computer locale o in una macchina virtuale all'interno di una rete privata. Attualmente in un sistema operativo Windows è supportato solo il runtime di integrazione self-hosted.

In termini di disponibilità elevata e scalabilità è possibile scalare orizzontalmente il runtime di integrazione self-hosted associando l'istanza logica con più computer locali in modalità attivo-attivo. Per altre informazioni, vedere l'articolo su come creare e configurare il self-hosted IR nelle guide alle modalità.

Runtime di integrazione Azure-SSIS

Nota

I runtime di integrazione SSIS di Azure non sono attualmente supportati nelle pipeline di Synapse.

Per eseguire in modalità lift-and-shift il carico di lavoro SSIS esistente, è possibile creare un runtime di integrazione Azure-SSIS per l'esecuzione di pacchetti SSIS in modo nativo.

Ambiente di rete del runtime di integrazione Azure-SSIS

È possibile eseguire il provisioning del runtime di integrazione Azure-SSIS nella rete pubblica o privata. L'accesso ai dati locali è supportata aggiungendo il runtime di integrazione Azure-SSIS a una rete virtuale connessa alla rete locale.

Risorsa di calcolo e ridimensionamento del runtime di integrazione Azure-SSIS

Il runtime di integrazione Azure-SSIS è un cluster completamente gestito di macchine virtuali Azure dedicato all'esecuzione di pacchetti SSIS. È possibile usare il proprio database SQL di Azure o SQL Istanza gestita per il catalogo di progetti/pacchetti SSIS (SSISDB). È possibile aumentare la potenza di calcolo specificando la dimensione del nodo e scalare orizzontalmente specificando il numero di nodi nel cluster. È possibile gestire il costo di esecuzione del runtime di integrazione Azure-SSIS interrompendolo e avviandolo in base alle necessità.

Per altre informazioni, vedere l'articolo su come creare e configurare il runtime di integrazione SSIS di Azure nelle guide alle procedure. Dopo la creazione è possibile distribuire e gestire i pacchetti SSIS esistenti con poche o nessuna modifica usando strumenti familiari, ad esempio SQL Server Data Tools (SSDT) e SQL Server Management Studio (SSMS), come si usa SSIS in locale.

Per altre informazioni sul runtime SSIS di Azure, vedere gli articoli seguenti:

Località del runtime di integrazione

Relazione tra la località di fabbrica e la posizione di IR

Quando il cliente crea un'Data Factory, deve specificare il percorso per l'Data Factory o l'area di lavoro Synapse. I metadati per l'Data Factory o l'area di lavoro Synapse vengono archiviati qui e l'attivazione della pipeline viene avviata da qui. I metadati vengono archiviati solo nell'area scelta dal cliente e non verranno archiviati in altre aree.

Nel frattempo, una pipeline Azure Data Factory o Azure Synapse può accedere agli archivi dati e ai servizi di calcolo in altre aree di Azure per spostare i dati tra archivi dati o elaborare i dati usando i servizi di calcolo. Questo comportamento viene attuato tramite il runtime di integrazione disponibile a livello globale per garantire la conformità dei dati, l'efficienza e costi in uscita della rete inferiori.

La località del runtime di integrazione definisce la località del calcolo back-end ed essenzialmente la località in cui vengono eseguiti lo spostamento dei dati, l'invio di attività e l'esecuzione di pacchetti SSIS. La posizione di IR può essere diversa da Data Factory a cui appartiene.

Località del runtime di integrazione di Azure

È possibile impostare una determinata posizione di un Azure IR, nel qual caso l'esecuzione o il dispatch dell'attività si verifica in tale area specifica.

Se si sceglie di usare la risoluzione automatica Azure IR nella rete pubblica, che è l'impostazione predefinita,

  • Per l'attività di copia, è possibile eseguire un'operazione ottimale per rilevare automaticamente la posizione dell'archivio dati sink e quindi usare il processo di IR nella stessa area, se disponibile o più vicina nella stessa area geografica. se l'area dell'archivio dati sink non è rilevabile, viene usato il Data Factory'area.

    Ad esempio, si ha l'Data Factory o l'area di lavoro Synapse creata negli Stati Uniti orientali,

    • Quando si copiano dati nel BLOB di Azure negli Stati Uniti occidentali, se il BLOB viene rilevato negli Stati Uniti occidentali, l'attività di copia viene eseguita nel servizio di integrazione negli Stati Uniti occidentali. se il rilevamento dell'area ha esito negativo, l'attività di copia viene eseguita in IR negli Stati Uniti orientali.
    • Quando si copiano i dati in Salesforce di cui l'area non è rilevabile, l'attività di copia viene eseguita in IR negli Stati Uniti orientali.

    Suggerimento

    Se sono presenti requisiti di conformità rigorosi per i dati e si deve garantire che i dati non lascino una certa area geografica, è possibile creare esplicitamente un runtime di integrazione di Azure in una determinata area e puntare il servizio collegato a questo runtime di integrazione tramite la proprietà ConnectVia. Ad esempio, se si vogliono copiare dati da BLOB in Regno Unito meridionale a Azure Synapse Analytics in Regno Unito meridionale e si vuole assicurarsi che i dati non lascino il Regno Unito, creare un Azure IR in Regno Unito meridionale e collegare entrambi i servizi collegati a questo IR.

  • Per l'esecuzione dell'attività Lookup/GetMetadata/Delete (nota anche come attività pipeline), l'invio dell'attività di trasformazione (note anche come attività esterne) e le operazioni di creazione (connessione di test, elenco di cartelle ed elenco di tabelle, dati di anteprima), viene usato il ripristino a livello di codice nella stessa area dell'area di lavoro Data Factory o Synapse.

  • Per l'Flow dati, viene usato il revo di IR nell'area Data Factory o area di lavoro Synapse.

    Suggerimento

    È consigliabile assicurarsi che il flusso di dati venga eseguito nella stessa area degli archivi dati corrispondenti (se possibile). A tale scopo, è possibile risolvere automaticamente Azure IR (se la posizione dell'archivio dati è uguale a Data Factory o al percorso dell'area di lavoro Synapse) oppure creando una nuova istanza di Azure IR nella stessa area degli archivi dati e quindi eseguire il flusso di dati.

Se si abilita Rete virtuale gestita per la risoluzione automatica Azure IR, viene usato il Data Factory o l'area di lavoro Synapse.

È possibile monitorare quale località del runtime di integrazione viene applicata durante l'esecuzione di attività nella vista di monitoraggio delle attività della pipeline nell'interfaccia utente o nel payload di monitoraggio delle attività.

Località del runtime di integrazione self-hosted

L'IR self-hosted viene registrato logicamente nell'area di lavoro Data Factory o Synapse e il calcolo usato per supportarne le funzionalità viene fornito dall'utente. Pertanto non esiste una proprietà location esplicita per il runtime di integrazione self-hosted.

Quando viene usato per eseguire lo spostamento di dati, il runtime di integrazione self-hosted estrae i dati dall'origine e li scrive nella destinazione.

Località del runtime di integrazione Azure-SSIS

Nota

I runtime di integrazione SSIS di Azure non sono attualmente supportati nelle pipeline synapse.

Selezionando la località corretta per il runtime di integrazione Azure-SSIS è fondamentale ottenere prestazioni elevate per ei flussi di lavoro di estrazione, trasformazione e caricamento (ETL).

  • Il percorso del Azure-SSIS IR non deve essere uguale a quello del Data Factory, ma deve essere uguale a quello del proprio database SQL di Azure o SQL Istanza gestita in cui si trova SSISDB. In questo modo il runtime di integrazione Azure-SSIS può accedere facilmente a SSISDB senza incorrere in traffico eccessivo tra le diverse località.
  • Se non si dispone di un database SQL o SQL Istanza gestita esistente, ma si dispone di origini dati/destinazioni locali, è necessario creare un nuovo database SQL di Azure o SQL Istanza gestita nella stessa posizione di una rete virtuale connessa alla rete locale. In questo modo, è possibile creare il Azure-SSIS IR usando il nuovo database SQL di Azure o SQL Istanza gestita e unirsi a tale rete virtuale, tutti nella stessa posizione, riducendo in modo efficace al minimo i movimenti dei dati in posizioni diverse.
  • Se il percorso del database SQL di Azure o del SQL Istanza gestita esistente non corrisponde a quello di una rete virtuale connessa alla rete locale, creare prima il Azure-SSIS IR usando un database SQL di Azure o un SQL Istanza gestita esistente e unirsi a un'altra rete virtuale nello stesso percorso e quindi configurare una connessione di rete virtuale a rete virtuale tra posizioni diverse.

Il diagramma seguente mostra le impostazioni relative alla località di Data Factory e dei relativi runtime di integrazione:

Località del runtime di integrazione

Determinazione del runtime di integrazione da usare

Se un'attività viene associata a più di un tipo di runtime di integrazione, verrà risolta in uno di essi. Il runtime di integrazione self-hosted ha la precedenza sul runtime di integrazione di Azure in Azure Data Factory o nelle aree di lavoro synapse usando una rete virtuale gestita. Quest'ultimo ha la precedenza sul runtime di integrazione globale di Azure.

Ad esempio, un'attività di copia viene usata per copiare dati dall'origine al sink. Il runtime di integrazione globale di Azure è associato al servizio collegato all'origine e un runtime di integrazione di Azure nella rete virtuale gestita di Azure Data Factory viene associato al servizio collegato per il sink, quindi il risultato è che sia il servizio collegato di origine che il servizio collegato sink usano il runtime di integrazione di Azure nelle aree di lavoro di Azure Data Factory o Synapse usando una rete virtuale gestita. Tuttavia, se un runtime di integrazione self-hosted associa il servizio collegato per l'origine, sia il servizio collegato di origine che il servizio collegato sink usano il runtime di integrazione self-hosted.

Attività di copia

Per l'attività di copia sono necessari i servizi collegati di origine e sink per definire la direzione del flusso di dati. Per determinare l'istanza del runtime di integrazione usata per eseguire la copia, viene usata la logica seguente:

  • Copia tra due origini dati cloud: quando i servizi collegati di origine e sink usano Azure IR, il Azure IR a livello di area viene usato se è stato specificato o il percorso di Azure IR viene determinato automaticamente se è stato scelto il runtime di integrazione autoresolve (impostazione predefinita), come descritto nella sezione Percorso del runtime di integrazione.
  • Copia tra un'origine dati cloud e un'origine dati nella rete privata: se il servizio collegato di origine o sink punta a un'origine dati self-hosted, l'attività di copia viene eseguita su tale Integration Runtime.
  • Copia tra due origini dati nella rete privata: il servizio collegato di origine e sink deve puntare alla stessa istanza del runtime di integrazione e tale runtime di integrazione viene usato per eseguire l'attività di copia.

Attività Lookup e GetMetadata

L'attività Lookup e GetMetadata viene eseguita sul runtime di integrazione associato al servizio collegato dell'archivio dati.

Attività di trasformazione esterna

Ogni attività di trasformazione esterna che usa un motore di calcolo esterno ha un servizio collegato di calcolo di destinazione che punta a un runtime di integrazione. Questa istanza del runtime di integrazione determina la posizione da cui viene inviata l'attività di trasformazione codificata a mano esterna.

Attività flusso di dati

Le Flow dati vengono eseguite nel runtime di integrazione di Azure associato. Il calcolo Spark utilizzato dai flussi di dati è determinato dalle proprietà del flusso di dati nel Azure Integration Runtime e sono completamente gestiti da ADF.

Passaggi successivi

Vedere gli articoli seguenti: