Skip to content

On-premises Data Solutions to Snowflake on Azure

Snowflake azure data factory

This “end 2 end”, and step by step “quick” Demo should show you:

  • how easy
  • how fast
  • without writing any line of code
  • how secure

it can be to connect an existing on-premises data source to a modern Cloud Data Warehouse Solution such as Snowflake is. On-premises Data Solutions to Snowflake on Azure. Furthermore it demonstrates that Snowflake on Azure is a great combination. Using Azure Data Factory, Azure Functions and Microsoft Power BI among other well-known connected services in the Azure Cloud Ecosystem, including Single Sign on with Azure Active directory. It shows also that it is possible to build a Hyper Scale Enterprise Data Analytics Solution with a Dual Vendor Strategy.

Azure Data Factory can perform both, ELT and ETL Tasks. Currently there is no native Snowflake Connector publicly available in ADF V2. However, using the Snowflake .net Driver https://docs.snowflake.net/manuals/user-guide/dotnet-driver.html several options for workloads with Azure Functions and Custom Activities together with Azure Data Factory Pipelines are possible.

Scenarios depend on many factors and circumstances. In our case, the sources are mostly relational database management systems. For several reasons we do not want to extract data from our source system to a csv file. And then transfer the CSV to a cloud blob storage and load them into Snowflake with native connectors. However, this would be also a very valid and common scenario.

We want to go for a scenario where we have directly linked both databases together and use Azure Data Factory for loading the data directly from the source Tables into Snowflake Tables. After loading the data we want to use Microsoft Power BI to analyze the data with a Live connect to that Analytics Model. This has the advantage that we do not need to load the data out of Snowflake again, it is just a direct connection to the data warehouse.

Snowflake on Azure

Used Tools and Services in that Demo:

  • SQL Server 2017 Database on-premises
  • Azure Runtime Integration on-premises
  • Azure Data Factory V2 Pipeline (Integration Runtime configured)
  • Snowflake Data warehouse
  • Power BI

Background: Architecture on Azure: How we build it:

https://www.snowflake.com/blog/how-we-built-snowflake-on-azure/

Install Snowflake ODBC Driver

  1. https://sfc-repo.snowflakecomputing.com/odbc/win64/2.19.0/index.html
052519_1829_Extendingon3.png

Open ODBC Data Sources (64-bit) and Create  a New Data Source

052519_1829_Extendingon5.png
  • Enter the Details into the Snowflake Connection Dialog
052519_1829_Extendingon6.png

Install and Configure Azure Integration Runtime

  • Create and Configure an Integration Runtime in an Azure Data Factory V2
052519_1829_Extendingon7.png
052519_1829_Extendingon8.png
  • Install the Azure Integration runtime on-premises
052519_1829_Extendingon9.png
  • Register the Runtime and enter Authentication Key from the ADF V2 Runtime created earlier
052519_1829_Extendingon10.png

Create a New ODBC Linked Service in Azure Data Factory

  • Configure the ODBC Linked Service by entering the Data Source Name created earlier, User Name and Password
052519_1829_Extendingon11.png
052519_1829_Extendingon12.png
  • Test the Connection from Azure Data Factory
052519_1829_Extendingon13.png

Create a Table in Snowflake

I do not care about data types in this quick demo.

052519_1829_Extendingon14.png
052519_1829_Extendingon15.png

Grant proper Access Rights in case, for this Demo we do it quick which is normally not recommended:

052519_1829_Extendingon16.png

Copy Data Wizard from Azure Data Factory V2

052519_1829_Extendingon17.png
052519_1829_Extendingon18.png
  • Source SQL Server 2017 on Premises

Create a New Linked Service to SQL Server on-Premises. Any linked Service which supports Azure integration runtime is available here, for example, Oracle, Sap, MySQL, Teradata and many more. All you can connect easily to Snowflake with a direct load through Azure Data Factory.

052519_1829_Extendingon19.png
052519_1829_Extendingon20.png
052519_1829_Extendingon21.png

Enter the Server Name which will be reached through my previously configured Azure Integration runtime and get authenticated. Test the connection.

052519_1829_Extendingon22.png

Select now the recently configured on-premises Data Source.

052519_1829_Extendingon23.png

Select your data tables from your on-premises Data Source

052519_1829_Extendingon24.png

Select as Destination the Snowflake linked Service earlier created

052519_1829_Extendingon25.png

Map the selected tables

052519_1829_Extendingon26.png

Map Columns between the tables

052519_1829_Extendingon27.png

Settings

052519_1829_Extendingon28.png

Summary

052519_1829_Extendingon29.png

Let the Pipeline Run

052519_1829_Extendingon30.png

Connect with Power BI Direct Query

052519_1829_Extendingon31.png
052519_1829_Extendingon32.png
052519_1829_Extendingon33.png
052519_1829_Extendingon34.png

Conclusion

  • Connect fast and easy to almost any on-premises data source. Without writing any line of code,  zero coding.
  • While the Warehouse size seems not have to much impact on ETL/ ELT workloads on Reporting Workloads it has. This means the concept of using different Warehouses sizes for different workloads or user groups does absolutely make sense.
  • Currently there is no native Snowflake Connector in ADF V2 available but there is a .net driver which can be used to create your own
  • It shows that Snowflake on Azure is a great combination. Using Azure Data Factory, Azure Functions, Microsoft Power BI among other well known connected Services in the Azure Cloud Ecosystem, including Single Sign on with Azure Active directory. If shows also that it is possible to build a Hyper Scale Enterprise Data Analytics Solution with a Dual Vendor Strategy.
  • Larger amounts of data could take longer to transfer, depending on many factors.
052519_1829_Extendingon35.png

Single Sing on

https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/snowflake-tutorial

Read more

Related reading: Snowflake and Microsoft Azure Data Factory, Snowflake Account Usage in Power BI, and Snowflake Summit Highlights and the Snowflake Vision.

Views: 577