11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初心者がデータ分析できるように環境を作ってみた

Last updated at Posted at 2024-11-19

はじめに

データ分析できるようになりたいな~ということで実際にデータ分析ができる環境を作ってみようと思いました。
DWHって何?というところから勉強し始めたばかりなのでとっても初心者です。

最終的には気象データとECサイトの売り上げデータから、雨の日によく売れる商品を特定したい!

この記事のゴール

情報を収集したときにデータが分析できる環境をつくる

今回やること

  • DWH(Snowflake)の環境を整える
  • ETLツール(TROCCO)の環境を整える

DWH(Snowflake)の環境を整える

Snowflakeで必要な設定は大体2つです。

  • ウェアハウス、データベース、スキーマの準備
  • 使用するユーザに権限を付与する

1.ウェアハウス、データベース、スキーマの準備

TROCCOを利用してSnowflakeにデータを転送する際、ウェアハウス、データベース、スキーマはSnowflake側であらかじめ用意する必要があります。

  • ウェアハウスやスキーマはデフォルトで作成されるもので良さそうなのでデータベースのみ作成していきます
  • Snowflakeでデータベースを作るには権限が必要になります。
    • SYSADMIN のロールであれば作成できます。

権限を持っているユーザでログインすると、
左下のメニューの Switch Role から権限を切り替えられます!

スクリーンショット 2024-11-13 151145.png

データベースの作成は下記から行えます

スクリーンショット 2024-11-13 143621.png

スクリーンショット 2024-11-13 141801.png

2.使用するユーザに権限を付与する

Snowflakeでは、ロールを作成してそこに権限を与える形になります。
TROCCOを利用するときに必要な権限の付与などは下記ドキュメントに
クエリを添付してありますのでご参考ください。

クエリは基本的にコピペで行けますが、ユーザ名やロール名などについては適宜編集ください!

GUI上でも操作できますが、該当メニューにたどり着くのが面倒なのでクエリのほうが早いとおもいます

クエリの実行はここからできます

スクリーンショット 2024-11-13 191040.png

ETLツール(TROCCO)の環境を整える

TROCCOで必要な設定はSnowflakeとの接続情報の作成です。

TROCCOのトップ画面です。ここから接続情報の作成ができます!

スクリーンショット 2024-11-13 183139.png


新規作成を押すと、こんな画面になります。
接続可能なサービスが選べるので、 DWH の中から Snowflake を選びます

スクリーンショット 2024-11-13 183404.png

接続情報の設定に必要なのはこれだけです!項目少なくてうれしい

スクリーンショット 2024-11-13 184519.png

Snowflake側でホスト名といユーザーを確認します
Copy account URL からホスト名、 My profile からユーザーを確認します
スクリーンショット 2024-11-13 192721.png

認証方法は「キーペア認証」がおすすめのようです。

秘密鍵と公開鍵は自分で発行が必要です。やったことなかったですが、TROCCOのドキュメントと外部サイトを参考にどうにか鍵を発行しました。

openSSLを実行できるようになるまで結構かかりました。。
秘密鍵の入力が終わったら、Snowflakeで公開鍵の設定します。
権限関連でクエリを発行したワークシートのところでまたクエリを発行します。

  • クエリ例などは下記をご参考ください

  • openSSLの参考用(外部サイト)


全部の設定が終わったら 接続を確認 します。
設定内容に問題がなければ、緑のチェックマークが表示されます

スクリーンショット 2024-11-13 184905.png


これで環境の設定は完了です!!

おわりに

Snowflakeの権限回りはややこしくて、直感だけではどうにかならないので
ボタンないぞ??エラー出たぞ?? みたいなときは 権限足りてるかな、権限設定したロールに切り替わってるかな? と確認するのがよさそうです。

Snowflakeのドキュメントにもデフォルトで用意されているロールの説明があるので参照するとよいと思います。
Snowflakeのドキュメントは読みやすくて好きです。


TROCCOは直感的にポチポチしていくだけいいので接続情報の作成は簡単でした!
秘密鍵の作成が初めてだったのでターミナルでopenSSL実行できなくてわから~ん、となりましたが解説サイトがネット上にいっぱいあるのでどうにかなりました。

次はどんな情報が必要なのか考えて、実際にデータを取得するところまで
やっていきたいと思います!

11
9
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
11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?