LoginSignup
3
0

More than 3 years have passed since last update.

Azure Data Factory(Azure Synapse Analytics)におけるSnowflakeコネクターの利用方法

Last updated at Posted at 2020-12-04

この記事は Snowflake Advent Calendar 2020 の4日目の記事です。

概要

Azure Data Factoryにて、Snowflakeコネクターの設定手順を紹介します。
AzureのSnowflakeを運用している方にはおすすめのツールです。

Azure Data Factoryを紹介したうえで、簡単なパイプラインを作成する手順を提示します。
手順数は多いのですが、簡単な項目の入力とクリックで、データ同期が実施できます

Azure Data Factory(Azure Synapse Analytics)で実現できること

ETLによるデータ連携やGUIによるデータプリパレーションが可能です。バッチ登録も登録やエラー箇所から再実行も可能であり、エンタープライズにおいて本格運用されているツールです。

利用できるコンポーネント ざっくり説明 主な用途
コピーアクティビティ データ抽出やデータ取り込みが可能な機能。 インタフェーステーブル、または、増分更新型のテーブルへのデータ取り込み。
Lookup アクティビティ SQLを実行できる機能。 ストアードプロシージャの実行。インタフェースファイルから、実テーブルへのMerge処理による差分更新が可能。
マッピング データ フロー Sparkをバックエンドに、GUIによるデータのパイプラインを実行する機能。 データプリパレーション、GUIによるETLプロセスの構築。

なぜAzure Data Factoryを利用すべきなのか

1. 対応しているコネクター数が多いこと

SalesforceやMarketなどの90以上のコネクターをソースに、データ取り込みが可能です。
image.png
引用元:Data Factory - データ統合サービス | Microsoft Azure

2. GUIベースでのデータプリパレーションが可能であること

image.png
引用元:マッピング データ フローの監視 - Azure Data Factory | Microsoft Docs

3.従量課金なので使い始めやすいこと

image.png
引用元:価格 – Data Factory | Microsoft Azure

簡単なデータ同期の実施

事前準備

下記のアカウントを作成してください。

  • Snowflake
  • Azure Data Factory

1. Snowflakeにて、データベースとテーブルを作成

CREATE OR REPLACE DATABASE AZURE_DATA_FACTORY;

USE AZURE_DATA_FACTORY;
CREATE TABLE PUBLIC.WEATHER
(
    DateID int NOT NULL,
    GeographyID int NOT NULL,
    PrecipitationInches float NOT NULL,
    AvgTemperatureFahrenheit float NOT NULL
);

image.png

2. Azure Data Factoryにログイン後、"Author"->"+"->"Copy Data tool"を選択。

image.png

3. "Next"を選択。

image.png

4. "Create new connection"を選択。

image.png

5. "blob"を検索し、"blob"を選択したうえで"Continue"を選択。

image.png

6. 下記の項目を入力し、"Test Connection"を選択し、接続確認を実施。確認後、"Create"を選択。

項目 サンプル値
Authentication method SAS URI
SAS URL https://nytaxiblob.blob.core.windows.net/
SAS token "
Test Connections To file Path
Test Connectionsの値 2013/Date

image.png

7. "Next"を選択。

image.png

8. "File or folder"に"2013/Weather/"と入力後、"Next"を選択。

image.png

9. 自動で表示されるデータのプレビューを確認後、"Next"を選択。

image.png

10. "Create new connection"を選択。

image.png

11. "Snowflake"を検索し、"Snowflake"を選択したうえで"Continue"を選択。

image.png

12. 下記の項目を入力し、"Test Connection"を選択し、接続確認を実施。確認後、"Create"を選択。

項目 入力項目 サンプル
Account name Snowflakeアカウント名。URLの"snowflakecomputing.com"の前の部分 hp54177.west-us-2.azure
User name ユーザー名 adfuser
Password パスワード saaaa123344
Database データベース名 AZURE_DATA_FACTORY
Warehouse 仮想ウェアハウス名 COMPUTE_WH

image.png

13. "Next"を選択。

image.png

14. "Destination"に"PUBLIC.WEATHER"選択後、"Next"を選択。

image.png

15. "Next"を選択。

image.png

16. "Next"を選択。

image.png

17. "Next"を選択。

image.png

18. "Edit pipeline"を選択。

image.png

19. "Debug"を選択。

image.png

20. データの取り込みが完了したことを確認します。

image.png

備考

1. Azure以外のSnowflakeへの書き込み(シンク)が実施できないようです。読み込みは可能です。

ErrorCode=SnowflakeUnsupportedCouldPlatformForImport,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Snowflake only support the account hosted in azure platform while as sink connector, please make sure your account is hosted in azure, current region and platform is 'AWS_US_WEST_2',Source=Microsoft.DataTransfer.ClientLibrary,'

image.png

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0