Zum Inhalt springen

Erweitern des lokalen Datenspeichers mit Snowflake on Azure

Diese “Ende 2 Ende” und schrittweise “schnelle” Demo sollte Ihnen zeigen:

wie einfach
wie schnell
ohne eine Codezeile zu schreiben
wie sicher

es sein kann, eine vorhandene lokale Datenquelle mit einer modernen Cloud-Data-Warehouse-Lösung wie Snowflake zu verbinden. Außerdem zeigt es, dass Snowflake on Azure eine großartige Kombination ist. Verwenden von Azure Data Factory, Azure-Funktionen und Microsoft Power BI unter anderen bekannten verbundenen Diensten im Azure Cloud-Ökosystem, einschließlich einmaliger Anmeldung mit Azure Active Directory. Es zeigt auch, dass es möglich ist, eine Hyper Scale Enterprise Data Analytics-Lösung mit einer Dual-Vendor-Strategie zu erstellen.

Azure Data Factory kann sowohl ELT- als auch ETL-Aufgaben ausführen. Derzeit ist in ADF V2 keine native öffentliche Version von Snowflake Connector verfügbar. Bei Verwendung des Snowflake .net-Treibers https://docs.snowflake.net/manuals/user-guide/dotnet-driver.html sind jedoch mehrere Optionen für Workloads mit Azure-Funktionen und benutzerdefinierten Aktivitäten zusammen mit Azure Data Factory-Pipelines möglich.

Szenarien hängen von vielen Faktoren und Umständen ab. In unserem Fall sind die Quellen meist relationale Datenbankverwaltungssysteme. Aus mehreren Gründen möchten wir keine Daten aus unserem Quellsystem in eine CSV-Datei extrahieren. Übertragen Sie dann die CSV in einen Cloud-Blob-Speicher und laden Sie sie mit nativen Konnektoren in Snowflake. Dies wäre jedoch auch ein sehr valides und weit verbreitetes Szenario.

Wir möchten uns für ein Szenario entscheiden, in dem wir beide Datenbanken direkt miteinander verknüpft haben und Azure Data Factory verwenden, um die Daten direkt aus den Quelltabellen in Snowflake-Tabellen zu laden. Nach dem Laden der Daten möchten wir Microsoft Power BI verwenden, um die Daten mit einer Live-Verbindung zu diesem Analytics-Modell zu analysieren. Dies hat den Vorteil, dass wir die Daten nicht erneut aus Snowflake laden müssen, sondern lediglich eine direkte Verbindung zum Data Warehouse herstellen.

Snowflake on Azure

Verwendete Tools und Services:

  • 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 a 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 Linked ODBC Linked Service in Azure Data Factory

  • Configure the ODBC 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

Gewähren Sie die richtigen Zugriffsrechte für den Fall, dass wir es für diese Demo schnell machen, was normalerweise nicht empfohlen wird:

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

Erstellen Sie einen neuen verknüpften Dienst für SQL Server vor Ort. Jeder verknüpfte Dienst, der die Azure-Integrationslaufzeit unterstützt, ist hier verfügbar, z. B. Oracle, Sap, MySQL, Teradata und viele mehr. Alles, was Sie mit einer direkten Last über Azure Data Factory problemlos mit Snowflake verbinden können.

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

Geben Sie den Servernamen ein, der über meine zuvor konfigurierte Azure-Integrationslaufzeit erreicht wird, und authentifizieren Sie sich. Testen Sie die Verbindung.

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

  • Stellen Sie schnell und einfach eine Verbindung zu nahezu jeder lokalen Datenquelle her. Ohne eine Codezeile zu schreiben, keine Kodierung.
  • Die Warehouse-Größe scheint keinen großen Einfluss auf die ETL / ELT-Workloads der zugehörigen Reporting-Workloads zu haben. Das Konzept, unterschiedliche Lagergrößen für unterschiedliche Arbeitslasten oder Benutzergruppen zu verwenden, ist daher durchaus sinnvoll.
  • Derzeit ist kein nativer Snowflake Connector in ADF V2 verfügbar, aber es gibt einen .net-Treiber, mit dem Sie Ihre eigenen erstellen können
  • Grössere Datenmengen könnten längere Zeit zum Übertragen benötigen, das hängt von vielen Faktoren ab.
052519_1829_Extendingon35.png

Single Sing on

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

Views: 54