SlideShare a Scribd company logo
Sponsored & Brought to you by
A Lap around Azure Data Factory
Martin Abbott
http://www.twitter.com/martinabbott
https://au.linkedin.com/in/mjabbott
A Lap around Azure Data Factory
Martin Abbott
@martinabbott
About me
10+ years experience
Integration, messaging and cloud person
Organiser of Perth Microsoft Cloud User Group
Member of GlobalAzure Bootcamp admin team
BizTalk developer and architect
Identity management maven
IoT enthusiast
Soon to be Australian Citizen
Agenda
Overview
Data movement
Data transformation
Development
Monitoring
Demonstration
General information
Overview of an Azure Data Factory
Overview of an Azure Data Factory
• Cloud based data integration
• Orchestration and transformation
• Automation
• Large volumes of data
• Part of Cortana Analytics Suite Information Management
• Fully managed service, scalable, reliable
Anatomy of an Azure Data Factory
An Azure Data Factory is made up of:
Linked services
• Represents either
• a data store
• File system
• On-premises SQL Server
• Azure storage
• Azure DocumentDB
• Azure Data Lake Store
• etc.
• a compute resource
• HDInsight (own or on demand)
• Azure Machine Learning Endpoint
• Azure Batch
• Azure SQL Database
• Azure Data Lake Analytics
Data sets
• Named references to data
• Used for both input and output
• Identifies structure
• Files, tables, folders, documents
• Internal or external
• Use SliceStart and SliceEnd
system variables to create
distinct slices on output data
sets, e.g., unique folder based on
date
Activities
• Define actions to perform on data
• Zero or more input data sets
• One or more output data sets
• Unit of orchestration of a pipeline
• Activities for
• data movement
• data transformation
• data analysis
• Use WindowStart and WindowEnd
system variables to select relevant
data using a tumbling window
Pipelines
• Logical grouping of activities
• Provides a unit of work that
performs a task
• Can set active period to run
in the past to back fill data
slices
• Back filling can be performed
in parallel
Scheduling
• Data sets have an availability
"availability": { "frequency": "Hour", "interval": 1 }
• Activities have a schedule (tumbling window)
"scheduler": { "frequency": "Hour", "interval": 1 }
• Pipelines have an active period
"start": "2015-01-01T08:00:00Z"
"end": "2015-01-01T11:00:00Z“ OR
“end” = “start” + 48 hours if not specified OR
“end”: “9999-09-09” for indefinite
Data Lineage / Dependencies
• How does Azure Data Factory know how to link
Pipelines?
• Uses Input and Output data sets
• On the Diagram in portal, can toggle data lineage on and
off
• external required (and externalData policy optional) for
data sets created outside Azure Data Factory
• How does Azure Data Factory know how to link data
sets that have different schedules?
• Uses startTime, endTime and dependency model
Functions
• Rich set of functions to
• Specify data selection queries
• Specify input data set dependencies
• [startTime, endTime] – data set slice
• [f(startTime, endTime), g(startTime, endTime)] – dependency
period
• Use system variables as parameters
• Functions for text formatting and date/time selection
• Text.Format('{0:yyyy}',WindowStart)
• Date.AddDays(SliceStart, -7 - Date.DayOfWeek(SliceStart))
Data movement
Data movement
SOURCE SINK
Azure Blob Azure Blob
Azure Table Azure Table
Azure SQL Database Azure SQL Database
Azure SQL Data Warehouse Azure SQL Data Warehouse
Azure DocumentDB Azure DocumentDB
Azure Data Lake Store Azure Data Lake Store
SQL Server on-premises / Azure IaaS SQL Server on-premises / Azure IaaS
File System on-premises / Azure IaaS File System on-premises / Azure IaaS
Oracle Database on-premises / Azure IaaS
MySQL Database on-premises / Azure IaaS
DB2 Database on-premises / Azure IaaS
Teradata Database on-premises / Azure IaaS
Sybase Database on-premises / Azure IaaS
PostgreSQL Database on-premises / Azure IaaS
Data movement
• Uses the Copy activity and Data Movement Service or Data Management Gateway (for on-premises or
Azure IaaS)
• Globally available service for data movement (except Australia)
• executes at sink location, unless source is on-premises (or IaaS) then uses Data Management Gateway
• Exactly one input and exactly one output
• Support for securely moving between on-premises and the cloud
• Automatic type conversions from source to sink data types
• File based copy supports binary, text and Avro formats, and allows for conversion between formats
• Data Management Gateway supports multiple data sources but only a single Azure Data Factory
Source
Data Movement Service
WAN Serialisation-
Deserialisation
Compression
Column
Mapping
…
WAN Sink
Source
Data Management Gateway
LAN/
WAN Serialisation-
Deserialisation
Compression
Column
Mapping
…
SinkLAN/
WAN
Data analysis and transformation
Data analysis and transformation
TRANSFORMATION ACTIVITY COMPUTE ENVIRONMENT
Hive HDInsight [Hadoop]
Pig HDInsight [Hadoop]
MapReduce HDInsight [Hadoop]
Hadoop Streaming HDInsight [Hadoop]
Machine Learning activities: Batch Execution and
Update Resource
Azure VM
Stored Procedure Azure SQL Database
Data Lake Analytics U-SQL Azure Data Lake Analytics
DotNet HDInsight [Hadoop] or Azure Batch
Data analysis and transformation
• Two types of compute environment
• On-demand: Data Factory fully manages environment, currently HDInsight only
• Set timeToLive to set allowed idle time once job finishes
• Set osType for windows or linux
• Set clusterSize to determine number of nodes
• Provisioning an HDInsight cluster on-demand can take some time
• Bring your own: Register own computing environment for use as a linked service
• HDInsight Linked Service
• clusterUri, username, password and location
• Azure Batch Linked Service
• accountName, accessKey and poolName
• Machine Learning Linked Service
• mlEndpoint and apiKey
• Data Lake Analytics Linked Service
• accountName, dataLakeAnalyticsUri and authorization
• Azure SQL Database Linked Service
• connectionString
Development
Development
• JSON for all artefacts
• Ease of management by source control
• Can be developed using:
• Data Factory Editor
• In Azure Portal
• Create and deploy artefacts
• PowerShell
• Cmdlets for each main function in PS ARM
• Visual Studio
• Azure Data Factory Templates
• .NET SDK
Visual Studio
• Rich set of templates including
• Sample applications
• Data analysis and transformation using Hive
and Pig
• Data movement between typical
environments
• Can include sample data
• Can create Azure Data Factory, storage
and compute resources
• Can Publish to Azure Data Factory
• No toolbox, mostly hand crafting JSON
Tips and Tricks with Visual Studio Templates
• Something usually fails
• Issues with sample data
• Run once to create Data Factory and storage accounts
• Usually first run will also create a folder containing Sample Data but NO JSON
artifacts
• May need to manually edit PowerShell scripts or perform manual upload
• Once corrected, deselect Sample Data and run again creating new solution
• Ensure Publish to Data Factory is deselected and JSON artifacts are created
• Issues with Data Factory deployment
• Go to portal and check what failed
• May need to manually create item but deleting published item and recreating with
JSON from project
• When deploying, may need to unselect item that is failing
• You cannot delete from the project
• Need to Exclude From Project
• Once excluded can delete from disk
Deployment
• Add Config files to your Visual Studio
project
• Deployment files contain, for instance,
connection strings to resources that
are replaced at Publish time
• Add deployment files for each
environment you are deploying to,
e.g., Dev, UAT, Prod
• When publishing to Azure Data
Factory choose appropriate Config file
to ensure correct settings are applied
• Publish only artefacts required
Monitoring
Monitoring
• Data slices may fail
• Drill in to errors, diagnose, fix and rerun
• Failed data slices can be rerun and all
dependencies are managed by Azure
Data Factory
• Upstream slices that are Ready stay
available
• Downstream slices that are dependent
stay Pending
• Enable diagnostics to produce logs,
disabled by default
• Add Alerts for Failed or Successful Runs to
receive email notification
Demonstration
General information
Pricing – Low frequency ( <= 1 / day )
USAGE PRICE
Cloud First 5 activities/month Free
6 – 100 activities/month $0.60 per activity
>100 activities/month $0.48 per activity
On-Premises First 5 activities/month Free
6 – 100 activities/month $1.50 per activity
>100 activities/month $1.20 per activity
* Pricing in USD correct at 4 December 2015
Pricing – High frequency ( > 1 / day )
USAGE PRICE
Cloud <= 100 activities/month $0.80 per activity
>100 activities/month $0.64 per activity
On-Premises <= 100 activities/month $2.50 per activity
>100 activities/month $2.00 per activity
* Pricing in USD correct at 4 December 2015
Pricing – Data movement
Cloud $0.25 per hour
On-Premises $0.10 per hour
Pricing – Inactive pipeline
$0.80/month
* Pricing in USD correct at 4 December 2015
Summary
• Use Azure Data Factory if:
• Dealing with Big Data
• Source or destination is in the cloud
• Cut down environment cost
• Cut down administration cost
• Azure is on one side of the movement / transformation
• Consider hybrid scenarios with other data management tools, for example
SQL Server Integration Services
More Information
• Documentation portal
• https://azure.microsoft.com/en-us/documentation/services/data-
factory/
• Learning map
• https://azure.microsoft.com/en-us/documentation/articles/data-
factory-learning-map/
• Samples on github
• https://github.com/Azure/Azure-DataFactory
Thank you!

More Related Content

PDF
Azure Data Factory V2; The Data Flows
PPTX
Running cost effective big data workloads with Azure Synapse and ADLS (MS Ign...
PDF
Unleash the power of Azure Data Factory
PDF
Azure Data Factory v2
PPTX
Develop scalable analytical solutions with Azure Data Factory & Azure SQL Dat...
PPTX
Modern data warehouse
PPTX
Azure Data Factory
PDF
Azure Data Factory v2
Azure Data Factory V2; The Data Flows
Running cost effective big data workloads with Azure Synapse and ADLS (MS Ign...
Unleash the power of Azure Data Factory
Azure Data Factory v2
Develop scalable analytical solutions with Azure Data Factory & Azure SQL Dat...
Modern data warehouse
Azure Data Factory
Azure Data Factory v2

What's hot (20)

PPTX
Intro to Azure Data Factory v1
PPTX
Analyzing StackExchange data with Azure Data Lake
PPTX
Azure Data Lake and Azure Data Lake Analytics
PPTX
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
PDF
J1 T1 4 - Azure Data Factory vs SSIS - Regis Baccaro
PPTX
Azure data factory
PPTX
Running cost effective big data workloads with Azure Synapse and Azure Data L...
PDF
Cortana Analytics Workshop: Azure Data Lake
PPTX
An intro to Azure Data Lake
PPTX
Introduction to Azure Databricks
PDF
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
PDF
Microsoft Ignite AU 2017 - Orchestrating Big Data Pipelines with Azure Data F...
PPTX
Azure Data Factory for Azure Data Week
PPTX
Microsoft Azure BI Solutions in the Cloud
PPTX
Streaming Real-time Data to Azure Data Lake Storage Gen 2
PPTX
Azure Lowlands: An intro to Azure Data Lake
PPTX
Architecting a datalake
PDF
Pipelines and Packages: Introduction to Azure Data Factory (Techorama NL 2019)
PPTX
Snowflake Datawarehouse Architecturing
PPTX
Integration Monday - Analysing StackExchange data with Azure Data Lake
Intro to Azure Data Factory v1
Analyzing StackExchange data with Azure Data Lake
Azure Data Lake and Azure Data Lake Analytics
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
J1 T1 4 - Azure Data Factory vs SSIS - Regis Baccaro
Azure data factory
Running cost effective big data workloads with Azure Synapse and Azure Data L...
Cortana Analytics Workshop: Azure Data Lake
An intro to Azure Data Lake
Introduction to Azure Databricks
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
Microsoft Ignite AU 2017 - Orchestrating Big Data Pipelines with Azure Data F...
Azure Data Factory for Azure Data Week
Microsoft Azure BI Solutions in the Cloud
Streaming Real-time Data to Azure Data Lake Storage Gen 2
Azure Lowlands: An intro to Azure Data Lake
Architecting a datalake
Pipelines and Packages: Introduction to Azure Data Factory (Techorama NL 2019)
Snowflake Datawarehouse Architecturing
Integration Monday - Analysing StackExchange data with Azure Data Lake
Ad

Viewers also liked (20)

PPTX
Azure data factory
PPTX
Building the Data Lake with Azure Data Factory and Data Lake Analytics
PDF
Introduction to Azure Data Factory
PDF
Panografias
PDF
Charlotte Mason in a Nutshell
PDF
Ucrete - El piso más resistente
PDF
Multimedia guide on iOS and Android with Content Management Tool for own guid...
PPT
Universidad de Alcalá (UAH). Presentación en español. 2012/2013
PPT
A guide to the CAO system 2015
PPTX
Sistemas de seguridad deportiva(xcupware)
PPTX
[GAB2016] Workshop - Industrialisez vos expérimentations Azure Machine Learni...
PPTX
Uruguay Educa y Programa RUMBO: experiencias elearning exitosas en ANEP
PPTX
Business process modeling and analysis for data warehouse design
PPS
T8 constel·lacions
PDF
Hemerotecas digitales. Lola Rodríguez Fuentes
PDF
El gran-grimorio-papa-honorio
PDF
Worldstar Group Credentials
PDF
53328654 airtel-pro
Azure data factory
Building the Data Lake with Azure Data Factory and Data Lake Analytics
Introduction to Azure Data Factory
Panografias
Charlotte Mason in a Nutshell
Ucrete - El piso más resistente
Multimedia guide on iOS and Android with Content Management Tool for own guid...
Universidad de Alcalá (UAH). Presentación en español. 2012/2013
A guide to the CAO system 2015
Sistemas de seguridad deportiva(xcupware)
[GAB2016] Workshop - Industrialisez vos expérimentations Azure Machine Learni...
Uruguay Educa y Programa RUMBO: experiencias elearning exitosas en ANEP
Business process modeling and analysis for data warehouse design
T8 constel·lacions
Hemerotecas digitales. Lola Rodríguez Fuentes
El gran-grimorio-papa-honorio
Worldstar Group Credentials
53328654 airtel-pro
Ad

Similar to A lap around Azure Data Factory (20)

PPTX
CC -Unit4.pptx
PPTX
Accelerating Business Intelligence Solutions with Microsoft Azure pass
PPTX
Modern ETL: Azure Data Factory, Data Lake, and SQL Database
PDF
Talavant Data Lake Analytics
PPTX
Azure PaaS (WebApp & SQL Database) workshop solution
PPTX
CRM UG Belux March 2017 - Power BI and Dynamics 365
PPTX
Tokyo azure meetup #2 big data made easy
PDF
Accelerating analytics in the cloud with the Starburst Presto + Alluxio stack
PPTX
Geek Sync | Deployment and Management of Complex Azure Environments
PDF
Designing a modern data warehouse in azure
PDF
Designing a modern data warehouse in azure
PPTX
NDC Minnesota - Analyzing StackExchange data with Azure Data Lake
PPTX
Azure synapse by usama whaba khan
PPTX
Module_01_formation-PowerBI Desktop.pptx
PPTX
PPT for dynamics 365 F&O Integration Roundup
PPTX
7 steps to simplifying your AI workflows
PPTX
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
PDF
Taming the shrew Power BI
PPTX
Azure full
PPTX
Deep thoughts from the real world of azure
CC -Unit4.pptx
Accelerating Business Intelligence Solutions with Microsoft Azure pass
Modern ETL: Azure Data Factory, Data Lake, and SQL Database
Talavant Data Lake Analytics
Azure PaaS (WebApp & SQL Database) workshop solution
CRM UG Belux March 2017 - Power BI and Dynamics 365
Tokyo azure meetup #2 big data made easy
Accelerating analytics in the cloud with the Starburst Presto + Alluxio stack
Geek Sync | Deployment and Management of Complex Azure Environments
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure
NDC Minnesota - Analyzing StackExchange data with Azure Data Lake
Azure synapse by usama whaba khan
Module_01_formation-PowerBI Desktop.pptx
PPT for dynamics 365 F&O Integration Roundup
7 steps to simplifying your AI workflows
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Taming the shrew Power BI
Azure full
Deep thoughts from the real world of azure

More from BizTalk360 (20)

PPTX
Optimise Business Activity Tracking – Insights from Smurfit Kappa
PPTX
Optimise Business Activity Tracking – Insights from Smurfit Kappa
PPTX
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
PPTX
Integration Monday - Logic Apps: Development Experiences
PPTX
Integration Monday - BizTalk Migrator Deep Dive
PPTX
Testing for Logic App Solutions | Integration Monday
PPTX
No-Slides
PPTX
System Integration using Reactive Programming | Integration Monday
PPTX
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
PPTX
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
PPTX
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
PPTX
Integration-Monday-Infrastructure-As-Code-With-Terraform
PDF
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
PPTX
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
PPTX
Integration-Monday-Building-Stateful-Workloads-Kubernetes
PPTX
Integration-Monday-Logic-Apps-Tips-Tricks
PPTX
Integration-Monday-Terraform-Serverless
PPTX
Integration-Monday-Microsoft-Power-Platform
PDF
One name unify them all
PPTX
Securely Publishing Azure Services
Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit Kappa
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
Integration Monday - Logic Apps: Development Experiences
Integration Monday - BizTalk Migrator Deep Dive
Testing for Logic App Solutions | Integration Monday
No-Slides
System Integration using Reactive Programming | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Integration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Terraform-Serverless
Integration-Monday-Microsoft-Power-Platform
One name unify them all
Securely Publishing Azure Services

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Getting Started with Data Integration: FME Form 101
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
August Patch Tuesday
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Empathic Computing: Creating Shared Understanding
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Encapsulation_ Review paper, used for researhc scholars
Spectral efficient network and resource selection model in 5G networks
Advanced methodologies resolving dimensionality complications for autism neur...
Assigned Numbers - 2025 - Bluetooth® Document
Getting Started with Data Integration: FME Form 101
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MIND Revenue Release Quarter 2 2025 Press Release
August Patch Tuesday
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
OMC Textile Division Presentation 2021.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Empathic Computing: Creating Shared Understanding
SOPHOS-XG Firewall Administrator PPT.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Reach Out and Touch Someone: Haptics and Empathic Computing
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation theory and applications.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Encapsulation_ Review paper, used for researhc scholars

A lap around Azure Data Factory

  • 1. Sponsored & Brought to you by A Lap around Azure Data Factory Martin Abbott http://www.twitter.com/martinabbott https://au.linkedin.com/in/mjabbott
  • 2. A Lap around Azure Data Factory Martin Abbott @martinabbott
  • 3. About me 10+ years experience Integration, messaging and cloud person Organiser of Perth Microsoft Cloud User Group Member of GlobalAzure Bootcamp admin team BizTalk developer and architect Identity management maven IoT enthusiast Soon to be Australian Citizen
  • 5. Overview of an Azure Data Factory
  • 6. Overview of an Azure Data Factory • Cloud based data integration • Orchestration and transformation • Automation • Large volumes of data • Part of Cortana Analytics Suite Information Management • Fully managed service, scalable, reliable
  • 7. Anatomy of an Azure Data Factory An Azure Data Factory is made up of:
  • 8. Linked services • Represents either • a data store • File system • On-premises SQL Server • Azure storage • Azure DocumentDB • Azure Data Lake Store • etc. • a compute resource • HDInsight (own or on demand) • Azure Machine Learning Endpoint • Azure Batch • Azure SQL Database • Azure Data Lake Analytics
  • 9. Data sets • Named references to data • Used for both input and output • Identifies structure • Files, tables, folders, documents • Internal or external • Use SliceStart and SliceEnd system variables to create distinct slices on output data sets, e.g., unique folder based on date
  • 10. Activities • Define actions to perform on data • Zero or more input data sets • One or more output data sets • Unit of orchestration of a pipeline • Activities for • data movement • data transformation • data analysis • Use WindowStart and WindowEnd system variables to select relevant data using a tumbling window
  • 11. Pipelines • Logical grouping of activities • Provides a unit of work that performs a task • Can set active period to run in the past to back fill data slices • Back filling can be performed in parallel
  • 12. Scheduling • Data sets have an availability "availability": { "frequency": "Hour", "interval": 1 } • Activities have a schedule (tumbling window) "scheduler": { "frequency": "Hour", "interval": 1 } • Pipelines have an active period "start": "2015-01-01T08:00:00Z" "end": "2015-01-01T11:00:00Z“ OR “end” = “start” + 48 hours if not specified OR “end”: “9999-09-09” for indefinite
  • 13. Data Lineage / Dependencies • How does Azure Data Factory know how to link Pipelines? • Uses Input and Output data sets • On the Diagram in portal, can toggle data lineage on and off • external required (and externalData policy optional) for data sets created outside Azure Data Factory • How does Azure Data Factory know how to link data sets that have different schedules? • Uses startTime, endTime and dependency model
  • 14. Functions • Rich set of functions to • Specify data selection queries • Specify input data set dependencies • [startTime, endTime] – data set slice • [f(startTime, endTime), g(startTime, endTime)] – dependency period • Use system variables as parameters • Functions for text formatting and date/time selection • Text.Format('{0:yyyy}',WindowStart) • Date.AddDays(SliceStart, -7 - Date.DayOfWeek(SliceStart))
  • 16. Data movement SOURCE SINK Azure Blob Azure Blob Azure Table Azure Table Azure SQL Database Azure SQL Database Azure SQL Data Warehouse Azure SQL Data Warehouse Azure DocumentDB Azure DocumentDB Azure Data Lake Store Azure Data Lake Store SQL Server on-premises / Azure IaaS SQL Server on-premises / Azure IaaS File System on-premises / Azure IaaS File System on-premises / Azure IaaS Oracle Database on-premises / Azure IaaS MySQL Database on-premises / Azure IaaS DB2 Database on-premises / Azure IaaS Teradata Database on-premises / Azure IaaS Sybase Database on-premises / Azure IaaS PostgreSQL Database on-premises / Azure IaaS
  • 17. Data movement • Uses the Copy activity and Data Movement Service or Data Management Gateway (for on-premises or Azure IaaS) • Globally available service for data movement (except Australia) • executes at sink location, unless source is on-premises (or IaaS) then uses Data Management Gateway • Exactly one input and exactly one output • Support for securely moving between on-premises and the cloud • Automatic type conversions from source to sink data types • File based copy supports binary, text and Avro formats, and allows for conversion between formats • Data Management Gateway supports multiple data sources but only a single Azure Data Factory Source Data Movement Service WAN Serialisation- Deserialisation Compression Column Mapping … WAN Sink Source Data Management Gateway LAN/ WAN Serialisation- Deserialisation Compression Column Mapping … SinkLAN/ WAN
  • 18. Data analysis and transformation
  • 19. Data analysis and transformation TRANSFORMATION ACTIVITY COMPUTE ENVIRONMENT Hive HDInsight [Hadoop] Pig HDInsight [Hadoop] MapReduce HDInsight [Hadoop] Hadoop Streaming HDInsight [Hadoop] Machine Learning activities: Batch Execution and Update Resource Azure VM Stored Procedure Azure SQL Database Data Lake Analytics U-SQL Azure Data Lake Analytics DotNet HDInsight [Hadoop] or Azure Batch
  • 20. Data analysis and transformation • Two types of compute environment • On-demand: Data Factory fully manages environment, currently HDInsight only • Set timeToLive to set allowed idle time once job finishes • Set osType for windows or linux • Set clusterSize to determine number of nodes • Provisioning an HDInsight cluster on-demand can take some time • Bring your own: Register own computing environment for use as a linked service • HDInsight Linked Service • clusterUri, username, password and location • Azure Batch Linked Service • accountName, accessKey and poolName • Machine Learning Linked Service • mlEndpoint and apiKey • Data Lake Analytics Linked Service • accountName, dataLakeAnalyticsUri and authorization • Azure SQL Database Linked Service • connectionString
  • 22. Development • JSON for all artefacts • Ease of management by source control • Can be developed using: • Data Factory Editor • In Azure Portal • Create and deploy artefacts • PowerShell • Cmdlets for each main function in PS ARM • Visual Studio • Azure Data Factory Templates • .NET SDK
  • 23. Visual Studio • Rich set of templates including • Sample applications • Data analysis and transformation using Hive and Pig • Data movement between typical environments • Can include sample data • Can create Azure Data Factory, storage and compute resources • Can Publish to Azure Data Factory • No toolbox, mostly hand crafting JSON
  • 24. Tips and Tricks with Visual Studio Templates • Something usually fails • Issues with sample data • Run once to create Data Factory and storage accounts • Usually first run will also create a folder containing Sample Data but NO JSON artifacts • May need to manually edit PowerShell scripts or perform manual upload • Once corrected, deselect Sample Data and run again creating new solution • Ensure Publish to Data Factory is deselected and JSON artifacts are created • Issues with Data Factory deployment • Go to portal and check what failed • May need to manually create item but deleting published item and recreating with JSON from project • When deploying, may need to unselect item that is failing • You cannot delete from the project • Need to Exclude From Project • Once excluded can delete from disk
  • 25. Deployment • Add Config files to your Visual Studio project • Deployment files contain, for instance, connection strings to resources that are replaced at Publish time • Add deployment files for each environment you are deploying to, e.g., Dev, UAT, Prod • When publishing to Azure Data Factory choose appropriate Config file to ensure correct settings are applied • Publish only artefacts required
  • 27. Monitoring • Data slices may fail • Drill in to errors, diagnose, fix and rerun • Failed data slices can be rerun and all dependencies are managed by Azure Data Factory • Upstream slices that are Ready stay available • Downstream slices that are dependent stay Pending • Enable diagnostics to produce logs, disabled by default • Add Alerts for Failed or Successful Runs to receive email notification
  • 30. Pricing – Low frequency ( <= 1 / day ) USAGE PRICE Cloud First 5 activities/month Free 6 – 100 activities/month $0.60 per activity >100 activities/month $0.48 per activity On-Premises First 5 activities/month Free 6 – 100 activities/month $1.50 per activity >100 activities/month $1.20 per activity * Pricing in USD correct at 4 December 2015
  • 31. Pricing – High frequency ( > 1 / day ) USAGE PRICE Cloud <= 100 activities/month $0.80 per activity >100 activities/month $0.64 per activity On-Premises <= 100 activities/month $2.50 per activity >100 activities/month $2.00 per activity * Pricing in USD correct at 4 December 2015
  • 32. Pricing – Data movement Cloud $0.25 per hour On-Premises $0.10 per hour Pricing – Inactive pipeline $0.80/month * Pricing in USD correct at 4 December 2015
  • 33. Summary • Use Azure Data Factory if: • Dealing with Big Data • Source or destination is in the cloud • Cut down environment cost • Cut down administration cost • Azure is on one side of the movement / transformation • Consider hybrid scenarios with other data management tools, for example SQL Server Integration Services
  • 34. More Information • Documentation portal • https://azure.microsoft.com/en-us/documentation/services/data- factory/ • Learning map • https://azure.microsoft.com/en-us/documentation/articles/data- factory-learning-map/ • Samples on github • https://github.com/Azure/Azure-DataFactory