Google Cloud:BigQueryについてIT未経験者向けに解説します
目次
- BigQueryの噛み砕いた説明
- データセットとテーブルを作成する
- クエリーをかける
- まとめ
BigQueryの噛み砕いた説明
BigQueryを一言で表すと、
『半構造〜構造化されたデータをSQLで分析できるサーバーレスのデータウェアハウス』になります。
IT未経験者の方からしたら何やら聞きなれない言葉が3,4つほど出てきたかもしれませんので、まず上の用語について説明します。
構造化
事前に定義された形式に沿って整えられたデータ(Excelなど表形式のやつ)
半構造化
非構造データよりは構造化データに近い形式のデータです(JSONやXMLなど)
※ちなみに非構造データとは何にも加工されていない元のデータです。(写真、画像、IoT機器からの生データ)
サーバレス
クラウドであっても、使用するサーバーの初期設定など最低限管理する項目がありますが、完全にインフラ側(サーバーの設定など含め)の管理をGoogleに任せれらるということ
データウェアハウス
ある程度加工されているデータを分析などの活用目的で貯めておけるサーバー群のこと
※似た言葉としてデータレイクがありますがこちらは、非構造データをとりあえず集めて貯めておくサーバー群というイメージです。
※またサーバー群としているのは、BigQueryの裏では数千〜数万のサーバー群を使い運用しているので、それをわかりやすくするためです。
まとめ
ということで、BigQueryのすごいところはかなり大きなデータを貯められてかつ、即時にSQLで分析できて、さらにサーバレスなので裏のインフラ(簡単にいうとサーバーの管理)を意識せずにガンガン仕事ができるといったイメージですね!
現実世界で例えるなら
現実世界に例えると、PCを普段使う人は仕事以外の手間や制限がありますよね。
例えば、
手間→アプリやOSのアップデート、ウィルスソフトの更新...etc
制限→ストレージの容量不足やメモリが小さいから動きが遅い...etc
BigQueryが自分のPCだとしたら、手間と制限を勝手に誰かが必要に応じてやってくれるので、自分は仕事のことだけを気にしていればいい、そういったイメージです。(本来であれば、PCのストレージが自動的に増えるなんてあり得ませんよね、、、)
若干、クラウドを使用する利点の説明のようになってしまいましたが、要するにBigQueryはクラウドを活用するメリットが詰まった最強分析データ処理基盤ということで、ここはまとめておきましょう!
データセットとテーブルを作成する
内部構造の説明
ここからは、実際に画像を見ながらどんな構成をしているのかを解説していきます。
SQLがわからない、エンジニアじゃないといった方でも説明している内容はわかるように書いていくので、実際にBigQueryの運用はしないが概要は知っておきたい!!という方はぜひご覧ください。
まず始める前に、BigQueryを使用するにあたり押さえておくべきアーキテクチャについてサクッと説明します。
イメージ図
【画像の説明】
BigQueryを始めるにはまず、プロジェクトが必要になります。(あ〜いいですね。この辺りの知識なら結構語れます。)
プロジェクトはGoogle Cloudを使用する上でも必要なリソースコンテナと呼ばれる、いわば大きな入れ物です。
野球の大会に出場するためにはまずはチームに入る必要がありますよね!それで一人一人が異なる人材として活躍する、いわば選手がリソースになるイメージです。(BigQueryでは1つの表=選手)
ですから、野球で例えるならチームという大枠がプロジェクトにあたります。
そしてその次に必要なのがデータセット。これも野球で例えるなら、1軍、2軍、3軍のようにさらにチーム内でもグループを分けますよね。この軍がデータセット。
その軍の中に選手がいるわけですが、お分かりの通りデータセットの中にある実際に触る表が選手にあたるわけです。
わかりにくかったらごめんなさい。ですが、野球ではなく、部活として読み替えても意味はほぼ同じになります!
あくまでも、上の画像のように階層構造の理解を深めるための例です。
また、このGoogle Cloudを利用する上で必須のプロジェクトとBigQueryで表されるプロジェクトは同意義かはちょっと疑問ですが、Google Cloudプロジェクトを作成した後にBigQueryを開くと既に同じプロジェクト名でプロジェクトが存在しているため、問題はないかな、、と思います(下図を参照)。
データセットの作成
それでは実際にデータセット作成してみましょう。といってもすぐ終わります。
赤枠の中にある、縦の・・・を押下し、データセットの作成を選択します。
すると下記画像のように項目を入力する画面が表示されます。
基本設定
・リージョン・・・どこの国(地域:US,EU,JA..etc)に配置するかを決めます
・マルチリージョン・・・USまたはEUの複数のリージョンにデータセットを配置させます
・テーブルの有効期限・・・指定した日数が経過すると自動で削除されます(今回は30日)
詳細設定
・大文字と小文字の区別・・・テーブル名で大文字と小文字が区別されません
・デフォルトの照合・・・チェックボックスをオンにすると大文字小文字を区別するかしないか選択可能
詳細設定はいじらなくても作成可能です。次は、実際に操作するテーブルを作成していきます。
テーブルの作成
赤枠の中にある、縦の・・・を押下し、テーブルの作成を選択します。
基本設定
ソース元の中身
スキーマ
ソース元を手元にあるCSVを指定してアップロード。
スキーマを自動検出にチェックするor「+」マークを押下すると自分で入力が可能。
・ソース・・・テーブルの元となるデータを取得する場所の指定(ソース元の中身参照)
・スキーマ・・・テーブルのフィールド(項目)を自動で認識するor手動で記述するか選ぶ
・パーティショニング・・・1つの大きなテーブルを小さいテーブルに分割すること
・クラスタリング・・・指定された列の内容に基づき最適なサイズのストレージブロックにデータが整理されて、特定の種類のクエリのパフォーマンスが向上する
詳細設定
詳細設定は簡単に画像だけ載せておきます。
スキップするヘッダー行は、CSVファイルの1行目のいらないヘッダー行を無視するように設定してます。
作成をするとデータセットにテーブルが作成されました。
使用したCSVはUdemyから引用した、ただのサンプルです。
クエリーをかける
クエリを押下し、SQL文を実行してみましょう。
分割タブを押すと、画像のようにスキーマを確認しながらクエリが打てます。
まとめ
今回はBigQueryについてIT未経験の方向けに解説しました。
データ分析といったらBigQuery。SQLが使えて、サーバレスなのでサーバーの管理や設定が不要。
この辺りを覚えておき、随時わからない単語やその意味を調べておくと、BigQuery1年生としての知識はついていくと思います!
最後に
効率の良いダイエット【運動編】
ダイエットで運動が必須なのは、周知の事実かと思います。
ではどのような運動が効率よく効果がああるのか??簡単に説明します。
結論を言うと、、、足を動かせ!!!です。
運動でいうと、50m~100mダッシュ系、スクワット、真上にジャンプ...etc
足の筋肉は体に対しての体積や横断面積がかなり大きく、その分消費カロリーが高いんです。さらに、足の筋肉が付けば基礎代謝も上がり、何もしていなくても1日に消費するカロリーが上がります。
加えて、下半身のトレーニング(運動)のあとにランニングやウォーキングを20~30ほど取り入れるとさらに効果倍増です(無酸素運動で脂肪分解ホルモンが分泌されている中での有酸素トレーニングになるから)。