ジャンルなしもくもく勉強会アドベントカレンダー3日目の記事です。
自分にとって初めてのQiita投稿となりました。
テーマはデータ分析基盤におけるETL処理です。
今回はETLを実行するために、
Informatica Intelligent Cloud Services(IICS)の
Cloud Data Integration(CDI)
を使用しました。
やりたいこと:
Azure DataLake Storage gen2のテーブルを
Extract
→IICS内で少しTransform
→SnowflakeにLoad
結果:
失敗...
アドベントカレンダー担当日中に解決できず…
Snowflakeにテーブルのメタデータはロードできました。しかし、Snowflake上でテーブルの表示ができませんでした。
さて、結果に至るまでの過程を以下に記します。
前提条件
データソース:
Azure Data Lake Storage gen2(以下、ADLS)のサンプルデータ
ターゲット:
Snowflake
Transform内容:
・パラメータを使ってみた
前提条件
IICSのエディション:トライアル
Secure Agentは自分のPCにインストール
Snowflakeの環境:トライアル
CDIはGUIベースで操作できます。
左から送り手のADLS,Transformの部品,受け手のSnowflakeです。
矢印の方向に沿った順でデータが処理されていきます。
これに少しTransformをします。
どんなTransformかというと...
真ん中のtest_formulaという部品で定義します。
IDに対し、奇数のもののみ-をつけるという無意味なtransformです(苦笑)。練習なのでお許しください。
ここで使っている言語はSQLに似ていますが、
IICS独自の記法もあるらしいです。詳細は公式ドキュメントをご参照ください。
お次に受け手のSnowflakeを設定しました。
今回はSnowflake側でテーブルは用意せず、
IICSからデータを送り込む際にテーブルを新規作成する設定にしました。
設定事項は他にもあるのですが、省略しています…
(アドベントカレンダーを23:59に投稿しそうになっている人の図)
これらの設定のもとで、いざ実行。
98行が処理されました。
Snowflake側はどうなっているでしょうか。
2回処理をしたため、196行になってますが、
テーブルは生成されたようです。
しかしいざSELECT文を発行すると、
テーブルが存在しないか、アクセス権限がない
と言われてしまいました。
残念!
感想:
公式ドキュメントを読むだけでは
分からないつまづきの石があると分かりました。
解けたら更新します!