google_bigquery_2_3
date : 2021-09-11 title : 🔍 分析入門 Session2~3: BigQuery excerpt : ---
tags : ["🔍", "BigQuery", "Udemy"]
|| Google BigQueryとは?
BigQuery(ビッグクエリ)は、ペタバイト単位のデータに対するスケーラブルな分析を可能にする、フルマネージドのサーバーレスのデータウェアハウスである。ANSI SQLを使用したクエリをサポートするPlatform as a Service(PaaS)としてGoogle Cloud Platformにより提供されている。また、機械学習の機能も組み込まれている。BigQueryは2010年5月に発表され、2011年11月に一般提供(GA)となった。
適切なハードウェアとインフラストラクチャを用意せずに大規模なデータセットを保存し、それに対してクエリを実行すると、時間と費用がかかってしまいます。エンタープライズ データ ウェアハウスである Google BigQuery は、Google のインフラストラクチャの処理能力を活用して SQL クエリを超高速で実行し、こうした問題を解決します。データを BigQuery に読み込んだら、後の処理は Google にお任せください。また、データの表示やクエリの実行権限を自分以外のユーザーに付与できるため、業務上の必要に応じてプロジェクトや自分のデータに対するアクセスを制御することも可能です。
ざっくり、Googleが提供するPaaS(Platform as a Service)のこと。
| データベース
2種類のサービス形態がある。
平たくまとめるとお金を取るか、取らないか。無料で利用できるのがOSS。
BigQueryは無料枠もあるが、処理に応じて従量課金型。
OSS (Open Source Softwear)
MySQL、PostgreSQL、SQLitte...etc.
SaaS
Google BigQuery、Amazon AWS、TreasureData...etc.
|| BigQuery環境構築
まずは、BigQueryにアクセスしてみよう。 https://cloud.google.com/bigquery/
完成イメージとしては以下のような図。
外枠にプロジェクトがあり、その中にデータセットがあり、更にその中に各テーブル(Excelでいうタブ)がある。 入れ子(ネスト)構造。
プロジェクトを作成
データセットを作成
テーブルを作成
| 基本文法
SELECT {カラム名}
FROM {テーブル名};
{テーブル名}から、{カラム名}に記載の列を取得してきて!って意味です。
| 記述、実行順序
各区の記述順序
# 1. SELECT :取得する列の指定 # (集計関数) # 2. FROM :取得するテーブルの指定 # 3. JOIN :テーブルの結合の処理 # ON / USING:結合に利用するキー指定 # 4. WHERE :絞り込み条件の指定 # 5. GROUP BY :グループ化項目の指定 # 6. HAVING :グループ化された集計結果に対して絞り込み条件の指定 # 7. ORDER BY :並び替え条件 # 8. LIMIT :表示する行数の指定
各区の実行順序
# 1. FROM # 2. ON / USING # 3. JOIN # 4. WHERE # 5. GROUP BY # 6. (集計関数) # 7. HAVING # 8. SELECT # 9. ORDER BY # 10. LIMIT