「GCPUG福岡」に初参加してきました

 IT系コミュニティ界隈では「ブログを書くまでが勉強会です」と言われますが、私もコミュニティ/勉強会に参加するようになって1年半ほどになるので、そろそろ始めてみようと思います。

GCPUG初参加

 ということで、初ブログの題材は、少々時間が経ってしまいましたが 11/11 (土) に参加してきた「GCPUG福岡」についてです。

gcpugfukuoka.connpass.com

 ワタクシ、今まで「JAWS-UG」「JAZUG」には参加していましたが、GCPUG には参加したことがありませんでした。
 参加しようと思ったきっかけは、8月に開催された 福岡クラウドUG Night (Engineer Lab. Fukuoka共催) - connpass で GCPUG福岡 の発表を聞く機会があったことです。特に、パネルディスカッションでの GCPUG福岡主宰 熊野氏のトークが楽し過ぎて、「GCPUG福岡の次回開催は何時か何時か?」と密かに楽しみにしておりました。

会場に来てみて・・・

 今回の会場であるグルーヴノーツさんは、今泉のソニーストア福岡天神と同じビルに入っていて、解放感のあるオサレな空間でした。・・・と、普通はここで写真の一つでも載せておくところでしょうが、残念ならが写真を撮っていませんでした。なんせこのブログを始めたのも思い付きですから・・・

 会場に入ると、最初は知り合いが全くいなくて不安でしたが、そのうち見知った顔が何人か来られてホッとしました。そんな私の挙動不審ぶりを察してか、熊野さんが「AWS と比べて GCP どうですか?」と話しかけて下さったのですが、AWS の事もそんなに詳しくない私はトンチンカンな返しをしてしまったかもしれません。スミマセン。

「データ加工&可視化」のハンズオン体験

 最初に、GCP の概要についてのセッションがあり、続いて、いよいよ今回の勉強会のメインコンテンツであるハンズオンが始まりました。

www.slideshare.net

データ入手 - Google Cloud Shell

 まず、データ分析の材料として、福岡市が公開している「大気環境測定データ」(CSVファイル) をダウンロードします。入手したファイルは Shift-JIS であるため、次のステップで使う「Dataprep」が取り扱える UTF-8 に変換します。

 ダウンロードと文字コード変換は Linux のコマンドベースで行うのですが、ここで「Google Cloud Shell」というツールを使います。これは、自分の PC 上で Linux を立ち上げる代わりにクラウド上で Linux のシェル環境を起動・操作できるというもので、

  • GCP を操作するためのコマンドツール (gcloud、gsutil 等) が最初から入っている。
  • GCP の Web 管理画面の認証情報が引き継がれるため、リソースへのアクセス権限が適切に付与された状態となっている。
  • シェル環境に永続的なストレージが 5GB 割り当てられており、作業を中断 → 再接続して再開するのもラクに行える。

という特徴があります。確か Azure にも似たようなのがあったと思いますが、PC 側の環境を整えなくても気軽に使えるというのは良いですね。

データ加工 - Google Cloud Dataprep

 次に、入手したデータに対して「Google Cloud Dataprep」を用いてデータの前処理 (=データを加工して集計し易くする) を行います。
 Dataprep には様々な機能があるのですが、今回のハンズオンでは「欠損値・異常値の除去」「データの横持ち→縦持ちの切り替え」を使用しました。

 かつて私は、数百台のサーバや数万台の PC の管理情報やらログやらを集約するという作業をよくしていたのですが、自分で作った集計スクリプト (VBAWSH) に食わせる前に「イケてないフォーマットの Excel」や「異常値・例外値てんこ盛り」のデータを加工するのに苦労していた覚えがあります。1度だけならまだしも、毎日飛んでくるログをその都度加工するとなると・・・(ぁゎぁゎ

 まさに、そのような状況で Dataprep の機能が有効なのですが、Excel 上で手作業でデータ加工を行うのに比べて、

  • 加工を行った後にどのような結果になるのか、サンプルイメージをリアルタイムで表示してくれる。(元のデータはいじらず、あくまでイメージ)
  • サジェスト機能があり、「ユーザが次に行いたいであろう加工」を提示してくれる。(かなり的確に!)
  • GUI で選択した加工操作は、システム上では関数として扱われる。慣れれば直に関数で入力してもよい。
  • 一連の加工操作の流れは「レシピ」として保存できる。保存したレシピはもちろん再利用可能。

という大き過ぎる利点があります。あぁ、当時 Dataprep があれば楽ができたのにぃ~ (仮にあったとしても、どうせクラウドなんて使わせてもらえなかったであろうに・・・)

データ可視化 - Google Data Studio

 さて、データ加工が終わったので、最後に「Google Data Studio」を使ってデータを可視化 (=グラフ等に出力) します。
 これはもう、Excel とかでグラフを作成するのと同じような感覚で、特に迷うことなく作成することができました。デザインセンスの無い私は、ハンズオンテキスト通りの画面デザインで出力したところ、周りの人から「そのまんまやん!」と突っ込まれました。世間って厳しいですね。

もくもくタイム

 ハンズオンを一通り流して、懇親会までの 30分ほどの時間は「もくもくタイム」となりました。
 さて、何をやるやら?と思って、Dataprep の管理画面を見ると・・・

これは・・・どうやらスケジュール実行ができるようですね。試しに設定してみると、確かに指定時刻にレシピが実行されました。

 加工元のデータのダウンロード (および文字コード変換) を自動実行する仕組みがあれば、一連の作業を完全自動実行できそうだと思いました。・・・が、その場では具体的な方法まで手が回らずタイムアップとなってしまいました。

 家に帰ってから続きを考えてみましたので、その結果は次のブログエントリで書こうと思います。

参加してみて

 今回のテーマが GCP の「ビッグデータ」のカテゴリに属するサービスだったため、ここだけの話、参加する前は「びっぐでーた・・・」「でーたさいえんてぃすと・・・」「すうがくこわい・・・」と若干ビビッていました。

 参加してみると、福岡市民には身近な PM2.5 が題材だったということもあり、楽しくハンズオンを体験することができました。
 なにより、ハンズオンのテキストがとても分かり易くて、理解しながらストレス無く進められたのが良かったです。私自身も IT系コミュニティの運営に関わっており、ハンズオンを行う機会もあるため、大いに参考にさせて頂きたいと思います。