Introduzione a Data factory di AzureIntroduction to Azure Data Factory

Nel mondo dei Big Data, dati non elaborati e non organizzati vengono spesso archiviati in sistemi di archiviazione relazionali, non relazionali e di altro tipo.In the world of big data, raw, unorganized data is often stored in relational, non-relational, and other storage systems. I dati non elaborati non hanno tuttavia intrinsecamente un contesto o significato appropriato per generare informazioni utili per gli analisti, i data scientist e i responsabili delle decisioni aziendali.However, on its own, raw data doesn't have the proper context or meaning to provide meaningful insights to analysts, data scientists, or business decision makers.

I Big Data necessitano di un servizio che possa orchestrare e rendere operativi i processi per ottimizzare questi enormi archivi di dati non elaborati trasformandoli in informazioni aziendali di utilità pratica.Big data requires service that can orchestrate and operationalize processes to refine these enormous stores of raw data into actionable business insights. Azure Data Factory è un servizio cloud gestito ideato per questi complessi progetti ibridi di estrazione, trasformazione e caricamento (ETL), di estrazione, caricamento e trasformazione (ELT) e di integrazione dei dati.Azure Data Factory is a managed cloud service that's built for these complex hybrid extract-transform-load (ETL), extract-load-transform (ELT), and data integration projects.

Si prenda ad esempio una società di giochi che raccoglie petabyte di log generati dai giochi nel cloud.For example, imagine a gaming company that collects petabytes of game logs that are produced by games in the cloud. La società intende analizzare questi log per ottenere informazioni sui clienti, tra cui preferenze, dati demografici e comportamento di utilizzo.The company wants to analyze these logs to gain insights into customer preferences, demographics, and usage behavior. Vuole anche identificare opportunità di up-selling e cross-selling, sviluppare nuove funzionalità interessanti per promuovere la crescita del business e fornire un'esperienza migliore ai clienti.It also wants to identify up-sell and cross-sell opportunities, develop compelling new features, drive business growth, and provide a better experience to its customers.

Per analizzare questi log, la società deve usare dati di riferimento presenti in un archivio dati locale, ad esempio le informazioni sui clienti, sui giochi e sulle campagne di marketing.To analyze these logs, the company needs to use reference data such as customer information, game information, and marketing campaign information that is in an on-premises data store. La società intende usare questi dati presenti nell'archivio dati locale, integrandoli con i dati di log aggiuntivi disponibili in un archivio dati cloud.The company wants to utilize this data from the on-premises data store, combining it with additional log data that it has in a cloud data store.

Per estrarre informazioni dettagliate, intende elaborare i dati uniti usando un cluster Spark nel cloud (Azure HDInsight) e infine pubblicare i dati trasformati in un data warehouse cloud, ad esempio Azure SQL Data Warehouse, per creare facilmente un report.To extract insights, it hopes to process the joined data by using a Spark cluster in the cloud (Azure HDInsight), and publish the transformed data into a cloud data warehouse such as Azure SQL Data Warehouse to easily build a report on top of it. La società vuole automatizzare il flusso di lavoro e monitorarlo e gestirlo in una pianificazione giornaliera.They want to automate this workflow, and monitor and manage it on a daily schedule. Intende anche eseguirlo quando vengono aggiunti file a un contenitore dell'archivio BLOB.They also want to execute it when files land in a blob store container.

La piattaforma Azure Data Factory è in grado di gestire con successo scenari di dati di questo tipo.Azure Data Factory is the platform that solves such data scenarios. È un servizio di integrazione di dati basato sul cloud che consente di creare flussi di lavoro basati sui dati nel cloud per orchestrare e automatizzare lo spostamento e la trasformazione dei dati stessi.It is a cloud-based data integration service that allows you to create data-driven workflows in the cloud for orchestrating and automating data movement and data transformation. Con Azure Data Factory è possibile creare e pianificare flussi di lavoro basati sui dati (denominati "pipeline") che possono acquisire dati da archivi dati diversi.Using Azure Data Factory, you can create and schedule data-driven workflows (called pipelines) that can ingest data from disparate data stores. Azure Data Factory può elaborare e trasformare i dati usando servizi di calcolo, ad esempio Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics e Azure Machine Learning.It can process and transform the data by using compute services such as Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics, and Azure Machine Learning.

È anche possibile pubblicare i dati di output in archivi dati, ad esempio Azure SQL Data Warehouse, per consentire alle applicazioni di business intelligence (BI) di utilizzarli.Additionally, you can publish output data to data stores such as Azure SQL Data Warehouse for business intelligence (BI) applications to consume. Infine, i dati non elaborati possono essere organizzati in archivi dati e data lake significativi per ottimizzare il processo decisionale aziendale usando Azure Data Factory.Ultimately, through Azure Data Factory, raw data can be organized into meaningful data stores and data lakes for better business decisions.

Vista generale di Data Factory

Nota

Questo articolo si applica alla versione 2 del servizio Data Factory, attualmente in versione di anteprima. Se si usa la versione 1 del servizio Data Factory, disponibile a livello generale (GA), vedere Introduzione a Data Factory versione 1.

Come funziona?How does it work?

Le pipeline, ovvero i flussi di lavoro basati su dati, in Azure Data Factory eseguono in genere i quattro passaggi seguenti:The pipelines (data-driven workflows) in Azure Data Factory typically perform the following four steps:

Quattro passaggi del flusso di lavoro basato sui dati

Connettersi e raccogliereConnect and collect

Le aziende hanno dati di vari tipi archiviati in origini disomogenee in locale e nel cloud; dati strutturati, non strutturati e semistrutturati vengono tutti ricevuti a velocità e a intervalli diversi.Enterprises have data of various types that are located in disparate sources on-premises, in the cloud, structured, unstructured, and semi-structured, all arriving at different intervals and speeds.

Il primo passaggio per creare un sistema di produzione di informazioni consiste nel connettere tutte le origini di dati e di elaborazione necessarie, come servizi SaaS, database, condivisioni file, FTP e servizi Web.The first step in building an information production system is to connect to all the required sources of data and processing, such as software-as-a-service (SaaS) services, databases, file shares, and FTP web services. Il secondo passaggio prevede di spostare i dati in una posizione centralizzata in base alla necessità per l'elaborazione successiva.The next step is to move the data as needed to a centralized location for subsequent processing.

Senza Data factory le grandi imprese devono creare componenti personalizzati per lo spostamento dei dati oppure scrivere servizi personalizzati per l'integrazione delle origini dati e delle elaborazioni.Without Data Factory, enterprises must build custom data movement components or write custom services to integrate these data sources and processing. Integrare e gestire tali sistemi è costoso e complesso.It's expensive and hard to integrate and maintain such systems. Questi sistemi spesso non forniscono neppure il monitoraggio e gli avvisi di livello aziendale, oltre ai controlli che solo un servizio completamente gestito può offrire.In addition, they often lack the enterprise-grade monitoring, alerting, and the controls that a fully managed service can offer.

Con Data Factory è possibile usare l'attività di copia in una pipeline di dati per spostare i dati dagli archivi dati di origine sia in locale che nel cloud a un archivio dati centralizzato nel cloud per analisi aggiuntive.With Data Factory, you can use the Copy Activity in a data pipeline to move data from both on-premises and cloud source data stores to a centralization data store in the cloud for further analysis. È ad esempio possibile raccogliere i dati in Azure Data Lake Store e quindi trasformarli usando un servizio di calcolo Azure Data Lake AnalyticsFor example, you can collect data in Azure Data Lake Store and transform the data later by using an Azure Data Lake Analytics compute service. oppure raccogliere i dati in un archivio BLOB di Azure e quindi trasformarli usando un cluster Hadoop Azure HDInsight.You can also collect data in Azure Blob storage and transform it later by using an Azure HDInsight Hadoop cluster.

Trasformare e arricchireTransform and enrich

Quando i dati raccolti sono presenti in un archivio dati centralizzato nel cloud, elaborarli o trasformarli tramite servizi di calcolo come Hadoop HDInsight, Spark, Data Lake Analytics e Machine Learning.After data is present in a centralized data store in the cloud, process or transform the collected data by using compute services such as HDInsight Hadoop, Spark, Data Lake Analytics, and Machine Learning. L'obiettivo è generare in modo affidabile dati trasformati in una pianificazione gestibile e controllata in modo da alimentare gli ambienti di produzione con dati attendibili.You want to reliably produce transformed data on a maintainable and controlled schedule to feed production environments with trusted data.

PubblicaPublish

Dopo che i dati non elaborati sono stati ottimizzati in un formato utilizzabile e pronto per il business, caricare i dati in Azure Data Warehouse, nel database SQL di Azure, in Azure CosmosDB o in qualsiasi motore di analisi a cui gli utenti business possono fare riferimento dai propri strumenti di Business Intelligence.After the raw data has been refined into a business-ready consumable form, load the data into Azure Data Warehouse, Azure SQL Database, Azure CosmosDB, or whichever analytics engine your business users can point to from their business intelligence tools.

MonitorareMonitor

Dopo avere compilato e distribuito la pipeline di integrazione di dati, fornendo il valore business dai dati ottimizzati, monitorare le attività e le pipeline pianificate per determinare il tasso di operazioni riuscite e non riuscite.After you have successfully built and deployed your data integration pipeline, providing business value from refined data, monitor the scheduled activities and pipelines for success and failure rates. Azure Data Factory integra il supporto per il monitoraggio delle pipeline tramite Monitoraggio di Azure, API, PowerShell, Log Analytics e i pannelli di integrità nel portale di Azure.Azure Data Factory has built-in support for pipeline monitoring via Azure Monitor, API, PowerShell, Log Analytics, and health panels on the Azure portal.

Concetti principaliTop-level concepts

Una sottoscrizione di Azure può includere una o più istanze di Azure Data Factory (o data factory).An Azure subscription might have one or more Azure Data Factory instances (or data factories). Azure Data Factory è costituito da quattro componenti chiave.Azure Data Factory is composed of four key components. Questi componenti forniscono la piattaforma nella quale è possibile comporre flussi di lavoro basati sui dati con passaggi per lo spostamento e la trasformazione dei dati stessi.These components work together to provide the platform on which you can compose data-driven workflows with steps to move and transform data.

PipelinePipeline

Una data factory può comprendere una o più pipeline.A data factory might have one or more pipelines. Una pipeline è un raggruppamento logico di attività che esegue un'unità di lavoro.A pipeline is a logical grouping of activities that performs a unit of work. che insieme eseguono un'operazione.Together, the activities in a pipeline perform a task. Una pipeline, ad esempio, può contenere un gruppo di attività che inserisce dati da un BLOB di Azure e quindi esegue una query Hive in un cluster HDInsight per partizionare i dati.For example, a pipeline can contain a group of activities that ingests data from an Azure blob, and then runs a Hive query on an HDInsight cluster to partition the data.

La pipeline offre il vantaggio di poter gestire le attività come un set anziché singolarmente.The benefit of this is that the pipeline allows you to manage the activities as a set instead of managing each one individually. Le attività in una pipeline possono essere concatenate per funzionare in modo sequenziale o indipendentemente in parallelo.The activities in a pipeline can be chained together to operate sequentially, or they can operate independently in parallel.

AttivitàActivity

Le attività rappresentano un passaggio di elaborazione in una pipeline.Activities represent a processing step in a pipeline. È ad esempio possibile usare un'attività di copia per copiare i dati da un archivio dati all'altro.For example, you might use a copy activity to copy data from one data store to another data store. Allo stesso modo è possibile usare un'attività Hive che esegue una query Hive in un cluster Azure HDInsight per trasformare o analizzare i dati.Similarly, you might use a Hive activity, which runs a Hive query on an Azure HDInsight cluster, to transform or analyze your data. Data Factory supporta tre tipi di attività: attività di spostamento dei dati, attività di trasformazione dei dati e attività di controllo.Data Factory supports three types of activities: data movement activities, data transformation activities, and control activities.

Set di datiDatasets

I set di dati rappresentano strutture dei dati all'interno degli archivi dati e fanno semplicemente riferimento ai dati da usare nelle attività come input o output.Datasets represent data structures within the data stores, which simply point to or reference the data you want to use in your activities as inputs or outputs.

Servizi collegatiLinked services

I servizi collegati sono molto simili a stringhe di connessione e definiscono le informazioni necessarie per la connessione di Data Factory a risorse esterne.Linked services are much like connection strings, which define the connection information that's needed for Data Factory to connect to external resources. In sintesi, un servizio collegato definisce la connessione all'origine dati, mentre un set di dati rappresenta la struttura dei dati.Think of it this way: a linked service defines the connection to the data source, and a dataset represents the structure of the data. Ad esempio, un servizio collegato di Archiviazione di Azure specifica una stringa per la connessione all'account di archiviazione di Azure.For example, an Azure Storage-linked service specifies a connection string to connect to the Azure Storage account. Un set di dati BLOB di Azure specifica il contenitore BLOB e la cartella che contiene i dati.Additionally, an Azure blob dataset specifies the blob container and the folder that contains the data.

In Data factory i servizi collegati vengono usati per i due scopi seguenti:Linked services are used for two purposes in Data Factory:

  • Per rappresentare un archivio dati che include, a titolo esemplificativo, un database di SQL Server locale, un database Oracle, una condivisione file o un account di archiviazione BLOB di Azure.To represent a data store that includes, but isn't limited to, an on-premises SQL Server database, Oracle database, file share, or Azure blob storage account. Per un elenco degli archivi dati supportati, vedere l'articolo sull'attività di copia.For a list of supported data stores, see the copy activity article.

  • Per rappresentare una risorsa di calcolo che può ospitare l'esecuzione di un'attività.To represent a compute resource that can host the execution of an activity. Ad esempio, l'attività HDInsightHive viene eseguita in un cluster HDInsight Hadoop.For example, the HDInsightHive activity runs on an HDInsight Hadoop cluster. Vedere l'articolo sulla trasformazione di dati per un elenco di attività di trasformazione e degli ambienti di calcolo supportati.For a list of transformation activities and supported compute environments, see the transform data article.

TriggerTriggers

I trigger rappresentano l'unità di elaborazione che determina quando deve essere avviata l'esecuzione di una pipeline.Triggers represent the unit of processing that determines when a pipeline execution needs to be kicked off. Esistono diversi tipi di trigger per i diversi tipi di eventi.There are different types of triggers for different types of events. Per l'anteprima, Data Factory supporta il trigger dell'utilità di pianificazione basata sul tempo.For preview, Data Factory supports the wall-clock scheduler trigger.

Esecuzioni di pipelinePipeline runs

Un'esecuzione di pipeline è un'istanza dell'esecuzione della pipeline.A pipeline run is an instance of the pipeline execution. Le istanze delle esecuzioni di pipeline vengono create in genere passando gli argomenti ai parametri definiti nelle pipeline.Pipeline runs are typically instantiated by passing the arguments to the parameters that are defined in pipelines. Gli argomenti possono essere passati manualmente o all'interno della definizione di trigger.The arguments can be passed manually or within the trigger definition.

ParametriParameters

I parametri sono coppie chiave-valore della configurazione di sola lettura.Parameters are key-value pairs of read-only configuration.  I parametri sono definiti nella pipeline.  Parameters are defined in the pipeline. Gli argomenti per i parametri definiti vengono passati durante l'esecuzione dal contesto di esecuzione creato da un trigger o da una pipeline eseguita manualmente.The arguments for the defined parameters are passed during execution from the run context that was created by a trigger or a pipeline that was executed manually. Le attività all'interno della pipeline usano i valori dei parametri.Activities within the pipeline consume the parameter values.

Un set di dati è un parametro fortemente tipizzato e un'entità referenziabile/riutilizzabile.A dataset is a strongly typed parameter and a reusable/referenceable entity. Un'attività può fare riferimento a set di dati e può usare le proprietà contenute nella definizione del set di dati.An activity can reference datasets and can consume the properties that are defined in the dataset definition.

Anche un servizio collegato è un parametro fortemente tipizzato contenente le informazioni di connessione a un archivio dati o a un ambiente di calcolo.A linked service is also a strongly typed parameter that contains the connection information to either a data store or a compute environment. È anche un'entità referenziabile/riutilizzabile.It is also a reusable/referenceable entity.

Flusso di controlloControl flow

Il flusso di controllo è un'orchestrazione delle attività della pipeline che include il concatenamento di attività in una sequenza, la creazione di rami, la definizione di parametri a livello di pipeline e il passaggio di argomenti durante la chiamata della pipeline su richiesta o da un trigger.Control flow is an orchestration of pipeline activities that includes chaining activities in a sequence, branching, defining parameters at the pipeline level, and passing arguments while invoking the pipeline on-demand or from a trigger. Include anche il passaggio di stati personalizzati e i contenitori di ciclo, vale a dire gli iteratori For-Each.It also includes custom-state passing and looping containers, that is, For-each iterators.

Per altre informazioni sui concetti relativi a Data Factory, vedere gli articoli seguenti:For more information about Data Factory concepts, see the following articles:

Aree supportateSupported regions

È attualmente possibile creare data factory nelle aree Stati Uniti orientali, Stati Uniti orientali 2 ed Europa occidentale.Currently, you can create data factories in the East US, East US 2, West Europe regions. Una data factory può accedere ad archivi dati e servizi di calcolo in altre aree di Azure per spostare i dati tra archivi dati o elaborare i dati usando i servizi di calcolo.However, a data factory can access data stores and compute services in other Azure regions to move data between data stores or process data using compute services.

Azure Data Factory stesso non archivia alcun dato.Azure Data Factory itself does not store any data. Consente di creare flussi di lavoro basati sui dati per orchestrare lo spostamento di dati tra archivi dati supportati e l'elaborazione di dati usando i servizi di calcolo in altre aree o in un ambiente locale.It lets you create data-driven workflows to orchestrate the movement of data between supported data stores and the processing of data using compute services in other regions or in an on-premises environment. Consente anche di monitorare e gestire i flussi di lavoro usando meccanismi a livello di codice e di interfaccia utente.It also allows you to monitor and manage workflows by using both programmatic and UI mechanisms.

Anche se Data Factory è disponibile solo nelle aree Stati Uniti orientali, Stati Uniti orientali 2 ed Europa occidentale, il servizio che consente lo spostamento dei dati in Data Factory è disponibile a livello globale in diverse aree.Although Data Factory is available only in the East US, East US 2, and West Europe regions, the service that powers the data movement in Data Factory is available globally in several regions. Se l'archivio dati è protetto da firewall, i dati verranno invece spostati da un runtime di integrazione self-hosted installato nell'ambiente locale.If a data store is behind a firewall, then a Self-hosted Integration Runtime that's installed in your on-premises environment moves the data instead.

Si supponga ad esempio che gli ambienti di calcolo, come un cluster Azure HDInsight e Azure Machine Learning, siano in esecuzione nell'area Europa occidentale.For an example, let's assume that your compute environments such as Azure HDInsight cluster and Azure Machine Learning are running out of the West Europe region. È possibile creare e usare un'istanza di Azure Data Factory in Stati Uniti orientali o Stati Uniti orientali 2 e usarla per pianificare processi negli ambienti di calcolo in Europa occidentale.You can create and use an Azure Data Factory instance in East US or East US 2 and use it to schedule jobs on your compute environments in West Europe. Data Factory necessita di alcuni millisecondi per attivare il processo nell'ambiente di calcolo, ma il tempo per l'esecuzione del processo nell'ambiente di calcolo non cambia.It takes a few milliseconds for Data Factory to trigger the job on your compute environment, but the time for running the job on your computing environment does not change.

Eseguire il confronto con la versione 2Compare with version 2

Per un elenco delle differenze tra la versione 1 e la versione 2 del servizio Data Factory, vedere Eseguire il confronto con la versione 1.For a list of differences between version 1 and version 2 of the Data Factory service, see Compare with version 1.

Passaggi successiviNext steps

Iniziare a creare una pipeline di Data Factory usando uno degli strumenti/SDK seguenti:Get started with creating a Data Factory pipeline by using one of the following tools/SDKs: