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.

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

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

  • Enter the Details into the Snowflake Connection Dialog

Install and Configure Azure Integration Runtime

  • Create and Configure a Integration Runtime in an Azure Data Factory V2
  • Install the Azure Integration runtime on-premises
  • Register the Runtime and enter Authentication Key from the ADF V2 Runtime created earlier

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
  • Test the Connection from Azure Data Factory

Create a Table in Snowflake

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

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

Copy Data Wizard from Azure Data Factory V2

  • 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.

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

Select now the recently configured on premises Data Source.

Select your data tables from your on-premises Data Source

Select as Destination the Snowflake linked Service earlier created

Map the selected tables

Map Columns between the tables

Settings

Summary

Let the Pipeline Run

Connect with Power BI Direct Query

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.

Single Sing on

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

Views: 50