Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Snowflakeであそぼう(2021/09/01開催)

D8a63d6a6f080df5ffcdf20839aa6b68?s=47 asmrt_ds
September 07, 2021

 Snowflakeであそぼう(2021/09/01開催)

2021/09/01 21:00~開催 Snowvillage(Snowflakeユーザ会)
「Snowflakeを1ヶ月触ってみた&遊んでみた #SnowVillage LIVE 013」
のイベント登壇資料です。

■イベントアーカイブ動画
 https://youtu.be/ve1cZFb3jrk

■スライド内のダッシュボード
 https://datastudio.google.com/u/0/reporting/42c693a1-6269-4ebb-bbff-ba5bbb8e10ae/page/cdFZC
 https://datastudio.google.com/u/0/reporting/ad304586-8508-46a3-bf78-5d4e564bf935/page/p_21n2vo82mc

D8a63d6a6f080df5ffcdf20839aa6b68?s=128

asmrt_ds

September 07, 2021
Tweet

More Decks by asmrt_ds

Other Decks in Programming

Transcript

  1. Snowflakeで あそぼう 2021/09/01 あすむると(@asmrt_ds)

  2. • あすむると(@asmrt_ds) ◦ データ利活用支援のお仕事をするエンジニア ◦ 職歴:SE → データアナリスト → 現在

    ◦ データ関連の技術が気になっている ◦ 食べるのとゲームが好き 自己紹介 2
  3. 自己紹介 • Snowflakeが好きになるまでの歴史 前職での 仕事で知る 引用 ・https://forkwell.connpass.com/event/194269/ ・https://pjsekai.sega.jp/ 3

  4. 「プロセカ」とは • 正式名称:プロジェクトセカイ カラフルステージ! feat.初音ミク • セガとColorful Paletteが開発、運営するスマホ向けのリズムゲーム • 現実世界(渋谷)とバーチャルシンガーのいる世界(セカイ)が舞台

    4
  5. 「プロセカ」とは 5

  6. このふたつには共通点があります。 6

  7. 2020/09/30 2020/09/15 リリース IPO 9月で1周年 7

  8. Snowflake × プロジェクトセカイ 8

  9. Snowflakeで あそぼう

  10. Snowflakeで「プロセカ」を あそぼう

  11. おことわり ・本発表の内容は、発表者の趣味での内容です。  以下ご承知おきください。  ・「プロセカ」運営の株式会社Colorful Palette社は関与していない  ・ 所属会社を代表しての見解ではない 11

  12. こんなときありませんか? Snowflake最近話題で使ってみたいな ……。でも、仕事で使う機会ないし、 大量データを持っていないんだよなぁ。 12

  13. こんなときありませんか? 使ってみたいけど難しそ う。すごい人たちだからで きるのかも……。 13

  14. こんなときありませんか? 私もそう感じてました。 でも、Snowflake使ってみたいな とも思っていました。 14

  15. そうだ! 遊び感覚&身近な題材でSnowflake を使えないか試しみよう 15

  16. Snowflakeで「プロセカ」を あそぼう

  17. 作成したもの ゲームプレイ結果の 可視化 17

  18. 作成したもの ゲームプレイ結果 1.プレイ結果入力 3.GCS→  Snowflake連携 4.Snowflake  → データポータル連携 2.スプシ→GCS連携 18

  19. Snowflakeを使う準備 19

  20. 1.ゲームプレイ結果の入力 ゲームプレイ結果 1.プレイ結果入力 3.GCS→  Snowflake連携 4.Snowflake  → データポータル連携 2.スプシ→GCS連携 20

  21. 1.ゲームプレイ結果の入力 どうやったのか? 手動 対応くださった方に感謝 21

  22. 1.ゲームプレイ結果の入力 対応くださった方に感謝 (対象期間:7/23~8/23、160件) 22

  23. 2.スプレッドシート→GCS連携(GAS) ゲームプレイ結果 1.プレイ結果入力 3.GCS→  Snowflake連携 4.Snowflake  → データポータル連携 2.スプシ→GCS連携 23

  24. 2.スプレッドシート→GCS連携(GAS) 手順  ①データを入力したスプレッドシート内でスクリプトエディタを起動  ②認証設定および連携先のGCS情報を定義したスクリプトで   CSV出力&GCS連携するボタン作成  ③CSV出力ボタン→アップロードボタンクリックでGCSへ 参考:Google Apps Script でスプレッドシートデータを

    CSV にして GCS に出力してみた。 | DevelopersIO 24
  25. Snowflakeを使ってみよう 25

  26. 3.GCS→Snowflake連携 ゲームプレイ結果 1.プレイ結果入力 3.GCS→  Snowflake連携 4.Snowflake  → データポータル連携 2.スプシ→GCS連携 26

  27. 手順   参考:https://docs.snowflake.com/ja/user-guide/data-load-gcs-copy.html 3.GCS→Snowflake連携 27

  28. 手順   3.GCS→Snowflake連携 LIVE_RESULT(プレイ結果ログ) 28

  29. 手順   3.GCS→Snowflake連携 29

  30. 手順   3.GCS→Snowflake連携 30

  31. 手順   3.GCS→Snowflake連携 Storage Integration設定がACCOUNT ADMIN or 独自権限が必要そうなので、 ACCOUNTADMINロールでやるのが楽 でした。(※)

    ※https://community.snowflake.com/s/article/Error-SQL-access- control-error-Insufficient-privileges-to-operate-on-integration-XXX X 31
  32. 手順 3.GCS→Snowflake連携 手順   CSV取込用フォーマット定義を作成しま す。1行目が項目名にしているので、 1 行目をスキップ設定しています。 32

  33. 手順   手順 3.GCS→Snowflake連携 33

  34. 手順   手順 3.GCS→Snowflake連携 34

  35. 手順   3.GCS→Snowflake連携 35

  36. つまったポイント1  3.GCS→Snowflake連携 ・日付カラム(yyyy-mm-dd)をDATE型で取込むとすべて1970/xx/xx  になる。 ・日時カラム(yyyy-mm-dd hh:mm)をTIMESTAMP型でうまく取り  込めない。  → とりあえず文字型(VARCHAR)で入れた後に加工する作戦へ   (Snowflake及び後続のデータポータル連携を考慮し一律、文字型へ) 36

  37. つまったポイント2  3.GCS→Snowflake連携 ・以下エラー対応 → 9カラムのテーブルに11カラム分ロードしようとしたためエラー。   違うテーブルに入れようとしたデータをロードしようとしたため。 37

  38. 4.Snowflake→データポータル連携、可視化 ゲームプレイ結果 1.プレイ結果入力 3.GCS→  Snowflake連携 4.Snowflake  → データポータル連携 2.スプシ→GCS連携 38

  39. 手順   手順 ①GASでSnowflakeからデータポータルへつなぐコミュニティコネクタを  作ります。 ②作成したコネクタをデプロイします。 ③データポータルからSnowflakeへつなぎます。 4.Snowflake→データポータル連携、可視化 あれ、コネクタ手作りなの? 39

  40. 手順   手順 ①GASでSnowflakeからデータポータルへつなぐコミュニティコネクタを  作ります。 ②作成したコネクタをデプロイします。 ③データポータルからSnowflakeへつなぎます。  → Snowflake_Google_Data_Studio_Connector(GitHub)のマニュアル、   スクリプトをもとに進める。

    4.Snowflake→データポータル連携、可視化 1から作るわけではなく 安心しました 40
  41. つまったポイント1  4.Snowflake→データポータル連携、可視化 ・GASのIDEがマニュアル時点から変更されていた(2020年冬変更?)  → 見た目が変わってしまった部分の調査に特につまった。    新旧の見た目を調べた方のブログを見たり、旧IDEに切替えて対処 参考:速報!!GAS新IDEを触ってみた〜変更点と所感・懸念点〜 今回対処できたけど、以下 3つのアップデートに

    自分で対処しないといけないの大変そう だなぁ Snowflake、GAS、データポータル 41
  42. つまったポイント2  3.GCS→Snowflake連携 ・消えた日付カラム(YYYY-MM-DD)の値        Snowflakeの日付型:YYYY-MM-DD データポータルに取込可な日付型: YYYYMMDD  → データポータル側で日付項目を使った可視化(折れ線グラフ)で   日付項

    目が全部NULLになってしまう!   → Snowflake側はYYYYMMDDの文字型に変更、 データポータル側で日付型変換 参考 :https://stackoverflow.com/questions/65027185/google-data-studio-table-shows-date-column-as-n 42
  43. 4.Snowflake→データポータル連携、可視化 うれしかったこと マニュアルの日本語翻訳&ブログ投稿 のOKをもらえました 43

  44. 4.Snowflake→データポータル連携、可視化 プロセカダッシュボード 44

  45. こう思いませんか? すみません! プロセカ楽しめる要素はどこですか? 45

  46. Snowflakeで「プロセカ」を あそぼう

  47. 4(+α )可視化した内容を活かしてみよう • 最近プレイやFCが少ない曲を プレイしてみる • 「なぜ、この曲ばかりやっている の?」の理由を深ぼってみる etc…. 47

  48. こう思いませんか? あれ、この発表内容なら 他社サービスでもいいのでは? 48

  49. こう思いませんか? もっと、 Snowflakeで楽しいことできないの? 49

  50. Snowflakeのいいところ ほかの人とデータを簡単に共有できて 楽しいことできるよ!! 50

  51. 5. データシェアリング ゲームプレイ結果 1.プレイ結果入力 3.GCS→  Snowflake連携 4.Snowflake  → データポータル連携 2.スプシ→GCS連携

    51
  52. 5. データシェアリング 相互にデータ共有が できる 52

  53. 5. データシェアリング 手順 ①データを共有したい人は、共有したいデータに対し共有先のアカウントを  設定します。 ②データを共有された人は、共有されたデータをもとにデータベースを  作成します。 53

  54. 5. データシェアリング プロセカダッシュボード With Friend 54

  55. 5. データシェアリング 手順(共有するひと) 55

  56. 5. データシェアリング 手順(共有するひと) 56

  57. 手順(共有するひと) 5. データシェアリング 57

  58. 5. データシェアリング 手順(共有するひと) 58

  59. 5. データシェアリング 手順(共有されるひと) 59

  60. 5. データシェアリング 手順(共有されるひと) 60

  61. 5. データシェアリング 手順(共有されるひと) 61

  62. 5. データシェアリング 手順(共有されるひと) 62

  63. 5. データシェアリング データシェアリングのいいなと思うところ 簡単にデータ共有できる データ共有されてすぐに加工できる データが1箇所に集まり管理しやすい 63

  64. Twitter のように手軽に データを参照&共有できる未来 64

  65. こう思いませんか? そんなこと言っても、共有するデータも共有さ れるデータもないんだよなぁ……。 65

  66. 大丈夫!! 私のデータを共有できるよ!! 66

  67. 大丈夫!! ・Snowflakeのアカウントを作成してください。 ・SnowflakeのアカウントをTwitter(※)の  DMで教えてください。順次、データ共有  できるように権限を付与していきます。  ※ 私のアカウント(@asmrt_ds)までDM頂ければと思います。    期間限定でDM解放しとくのでフォローしなくても大丈夫です。 67

  68. やることのできる例 ・共有されたデータを集計や可視化して傾向を みてみる  → 新たな傾向が見つかるかも ・あなたのデータと掛け合わせてみる のも面白いかも ・(できる限り)定期的に更新予定なので 最新の状況が見られるかも 68

  69. みなさん一緒に やりませんか? 69

  70. みなさん一緒に ・Snowflake ・プロセカ やりませんか? 70

  71. おしまい 71