Book Image

ETL with Azure Cookbook

By : Christian Cote, Matija Lah, Madina Saitakhmetova
Book Image

ETL with Azure Cookbook

By: Christian Cote, Matija Lah, Madina Saitakhmetova

Overview of this book

ETL is one of the most common and tedious procedures for moving and processing data from one database to another. With the help of this book, you will be able to speed up the process by designing effective ETL solutions using the Azure services available for handling and transforming any data to suit your requirements. With this cookbook, you’ll become well versed in all the features of SQL Server Integration Services (SSIS) to perform data migration and ETL tasks that integrate with Azure. You’ll learn how to transform data in Azure and understand how legacy systems perform ETL on-premises using SSIS. Later chapters will get you up to speed with connecting and retrieving data from SQL Server 2019 Big Data Clusters, and even show you how to extend and customize the SSIS toolbox using custom-developed tasks and transforms. This ETL book also contains practical recipes for moving and transforming data with Azure services, such as Data Factory and Azure Databricks, and lets you explore various options for migrating SSIS packages to Azure. Toward the end, you’ll find out how to profile data in the cloud and automate service creation with Business Intelligence Markup Language (BIML). By the end of this book, you’ll have developed the skills you need to create and automate ETL solutions on-premises as well as in Azure.
Table of Contents (12 chapters)

Designing a Custom Data Flow Component

This recipe demonstrates the design of a Custom Data flow transformation. Efficient resource use represents one of the principal objectives in ETL development. Being able to determine which data extracted from the source actually needs to be loaded into the destination is probably the most important capability of any ETL solution. Determining whether an incoming row contains data that is different from the corresponding existing row can be performed by comparing each source column with the corresponding destination column. Such comparisons can be costly as they require all relevant data to be loaded from the destination table to perform the comparison.

By creating a single hash value based on the values of all the columns in the incoming row, and comparing only this single value with the one stored in the destination table, resource use can be reduced significantly. Of course, the hashed values are restricted in size and none of the algorithms...