Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GCPUG女子会#9 BigQueryでSQL入門
Search
Megumi Takahira
July 05, 2020
Technology
0
820
GCPUG女子会#9 BigQueryでSQL入門
Megumi Takahira
July 05, 2020
Tweet
Share
More Decks by Megumi Takahira
See All by Megumi Takahira
JTUGスピンオフ_Google_BigQueryのデータをTableauでビジュアライズしてみよう.pdf
megumit
1
380
第4回 前向きデータ整備人 もう一度、表計算ソフトを愛でる
megumit
2
3.1k
Notebookを比較する_MLforBegginers
megumit
0
140
第5回GCPUG女子会_Tableauコラボ
megumit
0
76
はじめてみよう_BigQuery_in_GCPUG女子会
megumit
0
160
Other Decks in Technology
See All in Technology
20251219 OpenIDファウンデーション・ジャパン紹介 / OpenID Foundation Japan Intro
oidfj
0
520
Claude Skillsの テスト業務での活用事例
moritamasami
1
110
日本Rubyの会: これまでとこれから
snoozer05
PRO
6
250
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
280
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
490
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
21
8.3k
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
400
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
1.7k
Building Serverless AI Memory with Mastra × AWS
vvatanabe
0
610
小さく、早く、可能性を多産する。生成AIプロジェクト / prAIrie-dog
visional_engineering_and_design
0
110
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2.5k
さくらのクラウド開発ふりかえり2025
kazeburo
2
1.2k
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
40k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
94k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
38
The SEO Collaboration Effect
kristinabergwall1
0
310
Abbi's Birthday
coloredviolet
0
3.9k
Balancing Empowerment & Direction
lara
5
820
Ruling the World: When Life Gets Gamed
codingconduct
0
100
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
59
Transcript
BigQueryでSQL入門 2020/07/05 GCPUG女子会 #9
Hello! たかひらめぐみ と申します ・駆け出しデータ系コンサルタント ・前職ではデータエンジニア?整備人? ・GCP 特にBigQuery大好き ※本資料はあくまで個人の見解であり、所属組織の公式的な見解ではありません @megumi_takahira 2
突然ですが・・・ この中でBigQuery 使ったことある方 コメントで挙手 ノシ してください
申し訳ありません。今日の私の話は BQ使った事ある方には簡単すぎて きっとつまらないので twitterハッシュタグ #GCPUGjoshi #BQへの愛を叫ぶ で愛を叫んでお待ちください!
このお話の対象者 ・BigQueryって聞いた事あるかも ・SQLいっこもわからん ※非エンジニアの人でもOK! 簡単なハンズオンを用意しています 一緒にやっても、資料をみながら後で やってみても良いので ぜひ一度触ってみてください!
BigQuery 概要(ざっくりと) ・フルマネージドサービス ・標準SQLでビッグデータにアクセスできる ・ものすごくはやい
BigQuery 概要(ざっくりと) ・基本は従量課金 課金対象: データのスキャン量 ストレージ ※ネットワークやCPUの使用量に関しては課金されない ※プレビューとメタ情報に関しては課金されない 詳細は公式ドキュメントを参照 https://cloud.google.com/bigquery/pricing
BigQuery 概要(ざっくりと) ・BigQuery サンドボックス サンドボックスを使用すると クレジット カード情報を入力することなく、 Cloud Console でウェブ
UI を使用できます。 環境構築・課金設定なしではじめられる ↓ これからSQLを勉強する場合にピッタリ!
HANDSON 9
Cloud Consoleを開き、利用規約に同意 https://console.cloud.google.com/?hl=ja
ナビゲーション ペインで [BigQuery] をクリック
プロジェクトを作成する
プロジェクト名を入力して[作成]をクリック 任意のプロジェクト名(デフォル トのままでもOK)
完了!
再びナビゲーション ペインで [BigQuery] をクリック
BigQueryのコンソールが無事開けました
以下よりCSVをダウンロード pageviews_20200704_050000_over10requests.csv https://bit.ly/3dZ28Cj
データセットを作成
データセットIDを入力して(なんでもOK) [データセットを作成]をクリック
プロジェクトIDの左に出てきた▶をクリックし 表示されたデータセット名(先ほど作成した)をクリック
テーブルの作成 をクリック ウィンドウの幅によっては、右記 のような「+」ボタンのみで表示 されている事があるので注意
テーブルの作成元のプルダウンから[アップロード]を選択し、 [参照]をクリックして、先ほどローカルにダウンロードした CSVファイル(pageviews_20200704_050000_over10requests.csv)を指定する アップロードするファイルを選択すると ファイル形式は自動で認識される
テーブル名を入力(なんでもOK)
自動検出 スキーマと入力パラメータ をチェック
[テーブル作成]をクリック
ジョブが作成された数秒後、左下に「テーブル名」が作成されました と表示されたらテーブル作成完了 このメッセージ(とリンク)結構すぐに 消えてしまいますが慌てなくて大丈夫です
データセット名の左に出てきた▶をクリックし 表示されたテーブル名(先ほど作成した)をクリック
クエリを実行する前に、メタデータ(テーブルについての説明等) をみていきます
メタデータだけでも結構いろんな事がわかります
いよいよSQLを書きます! [テーブルをクエリ]をクリック ウィンドウの幅によっては、右記 のような「 」ボタンのみで表示 されている事があるので注意
SELECT と FROMの間に * (アスタリスク、前後にスペースが必要) を追記してドライランを確認 さきほど作成した [プロジェクト名].[データセット名].[テーブル名] を使った基本のSELECT句が自動生成されている ここに
* (アスタリスク前後スペース)を追記 USの場合$5.00 per TBなのでこのクエリの課金は $0.00003(サンドボックスの場合は無料)
実行!
結果が表示される
SELECT*で確認したい内容はたいていプレビューで確認できる (ちなみに LIMIT は表示行数を減らすだけでスキャン量削減には効果なし) 大きめのテーブルを検索する際には、必要な項目(列)のみ指定する事を推奨 Limit1000 を消してもスキャン量は 変化しない事を確認してみてください
SQLの基本 SELECT: どの項目(列)のデータを検索するか FROM: どのテーブルから検索するか WHERE: どのような条件で行を検索するか 今さらだけど
先ほどクエリを実行した画面で、再度テーブル名→スキーマを参照
先ほどの*を消し、スキーマのフィールド名[title][requests]クリック 末尾に WHERE wiki = 'ja' を追記 *を消す 末尾に WHERE wiki =
'ja' を追記 フィールド名をクリックすると 自動で必要な部分に,(カンマ)を つけて入力してくれる
構文を確認して、実行 SELECT: どの項目(列)のデータを検索するか FROM: どの表から検索するか WHERE: どのような条件で行を検索するか
結果が表示される
SQLの基本 ORDER BY: 特定のカラムの値に応じて行を並び変える ※昇順、降順について 未指定またはASC→昇順 DESC→降順 今さらだけど
末尾にORDER BY句を追加して実行 末尾に ORDER BY requests DESC を追記
結果が表示される
SQLの基本 GROUP BY: SELECT文において特定の列の値が等しい行ごとに表 をグループ化する。SUMやCOUNTなどの、集計関数 を使用する場合は指定が必要。 今さらだけど
以下のようにSQLを変更して実行 SELECT句を wiki, SUM(requests) に変更 GROUP BY wiki を追記 ORDER
BY句を SUM(requests) に変更
結果が表示される
本日使用したデータについて Query the Wikipedia dataset in BigQuery: https://codelabs.developers.google.com/codelabs/cloud-bigquery-wikipe dia/index.html 上記のチュートリアルを参考にして、最近のデータ(2020/7/4
050000) を取得し、ローカルからアップロード可能な10MB以内になるように requestsが10件以上のデータに絞ったものです。 Cloud Shellを使用したりと、本日のハンズオンより少しレベルアップする 内容になっているので、ぜひチャレンジしてみてください。
Thanks! 47 @megumi_takahira