【Informatica】接続(Connector)の設定 Snowflakeの場合

はじめに

Informatica 社の提供するデータ活用プラットフォーム Informatica Intelligent Cloud Service (以降、IICS)の
機能の1つであるデータ統合(Cloud Data Ingestion)では、オンプレミスのSQLサーバやクラウドサービスで提供されているストレージ・データウェアハウスのサービスと連携することで、それらのサービスに対するデータの抽出や、格納が行えるようになります。

この「連携」するコンポ―ネントを接続(Connector)と呼びます。

本記事では、クラウドで提供され、データウェアハウスとして多くの場面で活用されている「Snowflake」に対する接続(Connector)の設定方法について説明します。

Informatica 社についてはこちら
www.informatica.com

Snowflake についてはこちら
www.snowflake.com

接続(Connector)

IICS 上でデータ統合(Cloud Data Ingestion)の機能を利用して、ETL (Extract/Transform/Load)処理を行うまでには、

1.実際にデータの加工を行うランタイム環境「Secure Agent」を IICS に登録する。
2.データの連携を行うサービスに対応する、接続(Connector)を IICS で作成する。
3.IICS の画面上で、ETLのジョブ(マッピングタスクなど)を作成

といった準備が必要になります。

1.に関しましては、過去に記事化しておりますので、ご参考ください。
blog.jbs.co.jp

接続(Connector)の設定ですが、連携する製品のわずかな情報を入力するだけで簡単に構成することが可能となっており、スムーズにデータ連携を開始することができます。

接続(Connector)の作成

Snowflake の環境

接続(Connector)を作成する際に、Snowflake のアカウント情報である「User」と、コンピューティングリソースの「Warehouse」の情報が必須です。

以下のように、IICS と連携を行うためのユーザを作成しています。

IICS と連携を行うためのユーザは「INF_ROLE」というロールが利用できる状況で、「INF_ROLE」には Warehouse の OPERATE、USAGE の特権が与えられています。

こちらの前提で、以降の設定を行います。

アドオンコネクタの利用開始

アドオンコネクタとは、IICS の接続(Connector)で、各クラウドストレージサービス等に対応する接続(Connector)を作成するために必要なサービスです。

IICS の「管理者」から「アドオンコネクタ」をクリックし、利用したいコネクタを探します。

今回、以下の画像では、Snowflake のコネクタ「Informatica for Snowflake Data Cloud」に関して、「利用可能なライセンス」となっていますが、もともとは、画像の他コネクタと同様、「無料トライアルを開始する」という表示となっており、利用開始前のコネクタに関しては、こちらをクリックすることで、コネクタが利用可能になります。

接続(Connector)の設定

管理者のメニューから「接続」をクリックし、「新しい接続」をクリックします。

以下のような設定画面が表示されます。

「接続の詳細」の設定

パラメータは以下の項目です。(太字は入力必須。)

  • 接続名:接続に一意となる名前を設定します。
  • 説明 :接続に説明を付けることができます。
  • タイプ:利用するコネクタを選択します。先ほどのアドオンコネクタで利用開始した「Snowflake Data Cloud」を選択します。

タイプを選択すると、以下の画面に遷移します。

「Snowflake Data Cloud Properties」の設定

こちらは1つの必須設定があります。
ランタイム環境:タスクを実行するランタイム環境をこちらで選択します。今回は IICS に事前に登録してある Secure Agent を利用します。

「Connection Section」の設定

「Connection Section」は、Snowflake の情報を入力するセクションです。

最初の「Authentication」では、利用する Snowflake との認証方法を選択します。
「Authentication」の入力内容によって設定内容が変わります。

利用できる認証方法についての説明は以下で確認ができます。
docs.informatica.com

今回は、Snowflake アカウントのユーザー名とパスワードの資格情報を使用する、「標準」認証で設定を行います。

「標準認証」設定内容参考
docs.informatica.com

標準で設定を行うパラメータは以下の項目です。(太字は入力必須)

  • Username : Snowflake のユーザ名を入力します。
  • Password : Username で指定したユーザの Snowflake のパスワードを入力します。
  • Account : Snowflake のアカウントを入力します。

Snowflake のログイン URL「https://<アカウント名>.snowflakecomputing」の<アカウント名>に記載の文字列を利用します。

  • Warehouse:Snowflake の Warehouse 名を指定します。ここで設定した Warehouse は、Snowflake からデータを取得、格納等のタイミングで利用されます。
  • Role:接続で利用する Snowflake のロールを指定します。

Role はデータの収集、蓄積を行う対象のテーブルや、そのテーブルが所属しているスキーマ、データベースに対して以下の権限を所有していることが求められます。

オブジェクト種別 権限
Database Usage
Schema Usage, Create Table, Create View, Create Procedure, Create Sequence
Table All
Sequence All
Stored Procedure All

参考元
docs.informatica.com

  • Additional JDBC URL Parameters : 必要次第で追加の JDBC 接続パラメータを入力します。


JDBC 接続パラメータについて
docs.informatica.com

設定内容の確認

実際にパラメータを設定します。

パラメータ設定後は画面右上「接続テスト」を実施することで、入力した情報で接続が構成できるかを確認することができます。

テストに成功すると、以下のようなメッセージが表示されます。
その後は「保存」をクリックして、設定内容を保存します。

保存後は、「接続」の一覧に追加されます。設定内容は「接続」の名前をクリックすると、内容を再度編集することができます。

おわりに

今回の記事では、様々なストレージやデータウェアハウスのサービスと連携を行うための接続(connector)の設定を行いました。
データ処理を行う、Secure Agent の構築に続いて、サービスの連携を行えるようになり、いよいよデータ加工のジョブ作成に取り掛かることが可能になりました。

また、今回の接続(Conector)の設定に関しましては、連携できることを優先として構築しております。
Snowflake のロールや、Warehouse に応じて接続(Connector)を複数用意するべきか?といったことも運用上考慮する必要も出てくると考えられます。
今後機会がありましたら、そういった情報共有もできればと思います。

本記事が皆様のご参考となっておりましたら幸いです。

執筆担当者プロフィール
内田 誠人

内田 誠人(日本ビジネスシステムズ株式会社)

約4年のネットワークエンジニア経験から、データエンジニアの領域に足を踏み入れたインフラエンジニア。 かき氷愛好家。

担当記事一覧