Submit Search
Upload
これでBigQueryをドヤ顔で語れる!BigQueryの基本
•
58 likes
•
47,236 views
Tomohiro Shinden
Follow
社内勉強会で発表するのに使った資料です。 google big queryが基本的な使い方が全て分かるようにまとめたもの ただし、続きはWebで(公式ドキュメントで)
Read less
Read more
Technology
Report
Share
Report
Share
1 of 51
Download now
Download to read offline
Recommended
BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編
sutepoi
BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話
itkr
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
Ryuji Tamagawa
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud Platform - Japan
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
Kumano Ryo
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud Platform - Japan
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
Google Cloud Platform - Japan
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud Platform - Japan
Recommended
BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編
sutepoi
BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話
itkr
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
Ryuji Tamagawa
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud Platform - Japan
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
Kumano Ryo
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud Platform - Japan
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
Google Cloud Platform - Japan
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud Platform - Japan
[Cloud OnAir] BigQuery へデータを読み込む 2019年3月14日 放送
[Cloud OnAir] BigQuery へデータを読み込む 2019年3月14日 放送
Google Cloud Platform - Japan
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
Google Cloud Platform - Japan
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
K Kinzal
AIと最適化の違いをうっかり聞いてしまう前に
AIと最適化の違いをうっかり聞いてしまう前に
Monta Yashi
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
KubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したい
Yuji Oshima
あなたはPO?PM?PdM?PjM?
あなたはPO?PM?PdM?PjM?
大貴 蜂須賀
Jupyter(Python)とBigQueryによるデータ分析基盤のDevOps #pyconjp
Jupyter(Python)とBigQueryによるデータ分析基盤のDevOps #pyconjp
@yuzutas0 Yokoyama
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
Tokoroten Nakayama
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
Google Cloud Platform - Japan
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
Google Cloud Platform - Japan
BigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用する
Google Cloud Platform - Japan
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
AWSではじめるMLOps
AWSではじめるMLOps
MariOhbuchi
データベース設計徹底指南
データベース設計徹底指南
Mikiya Okuno
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
Tetsutaro Watanabe
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
Google Cloud Platform - Japan
6 月 18 日 Next - Google が描く、MapReduce を超えたビッグデータの世界
6 月 18 日 Next - Google が描く、MapReduce を超えたビッグデータの世界
Google Cloud Platform - Japan
More Related Content
What's hot
[Cloud OnAir] BigQuery へデータを読み込む 2019年3月14日 放送
[Cloud OnAir] BigQuery へデータを読み込む 2019年3月14日 放送
Google Cloud Platform - Japan
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
Google Cloud Platform - Japan
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
K Kinzal
AIと最適化の違いをうっかり聞いてしまう前に
AIと最適化の違いをうっかり聞いてしまう前に
Monta Yashi
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
KubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したい
Yuji Oshima
あなたはPO?PM?PdM?PjM?
あなたはPO?PM?PdM?PjM?
大貴 蜂須賀
Jupyter(Python)とBigQueryによるデータ分析基盤のDevOps #pyconjp
Jupyter(Python)とBigQueryによるデータ分析基盤のDevOps #pyconjp
@yuzutas0 Yokoyama
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
Tokoroten Nakayama
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
Google Cloud Platform - Japan
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
Google Cloud Platform - Japan
BigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用する
Google Cloud Platform - Japan
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
AWSではじめるMLOps
AWSではじめるMLOps
MariOhbuchi
データベース設計徹底指南
データベース設計徹底指南
Mikiya Okuno
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
Tetsutaro Watanabe
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
What's hot
(20)
[Cloud OnAir] BigQuery へデータを読み込む 2019年3月14日 放送
[Cloud OnAir] BigQuery へデータを読み込む 2019年3月14日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
AIと最適化の違いをうっかり聞いてしまう前に
AIと最適化の違いをうっかり聞いてしまう前に
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
KubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したい
あなたはPO?PM?PdM?PjM?
あなたはPO?PM?PdM?PjM?
Jupyter(Python)とBigQueryによるデータ分析基盤のDevOps #pyconjp
Jupyter(Python)とBigQueryによるデータ分析基盤のDevOps #pyconjp
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
BigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用する
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
AWSではじめるMLOps
AWSではじめるMLOps
データベース設計徹底指南
データベース設計徹底指南
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Similar to これでBigQueryをドヤ顔で語れる!BigQueryの基本
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
Google Cloud Platform - Japan
6 月 18 日 Next - Google が描く、MapReduce を超えたビッグデータの世界
6 月 18 日 Next - Google が描く、MapReduce を超えたビッグデータの世界
Google Cloud Platform - Japan
Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用
QlikPresalesJapan
Bigquery
Bigquery
さとる なかむら
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
Google Cloud Platform - Japan
gcpug_kyoto_bigquery
gcpug_kyoto_bigquery
さとる なかむら
FirebaseAnalytics_BigQuery_Datastudio
FirebaseAnalytics_BigQuery_Datastudio
さとる なかむら
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
yoyamasaki
弊社BigQuery節約節約事例
弊社BigQuery節約節約事例
shoishihara1
Google Big Query
Google Big Query
Ryuji Tamagawa
BigQuery ハンズオン
BigQuery ハンズオン
さとる なかむら
BigQuery ML for unstructured data
BigQuery ML for unstructured data
幸太朗 岩澤
G gencorp
G gencorp
ssuser2d6984
Data Visualization meetup 2017
Data Visualization meetup 2017
清水 正行
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
Google Cloud Platform - Japan
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
lalha
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
Techon Organization
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
griddb
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
griddb
Google BigQuery 導入編
Google BigQuery 導入編
zuya
Similar to これでBigQueryをドヤ顔で語れる!BigQueryの基本
(20)
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
6 月 18 日 Next - Google が描く、MapReduce を超えたビッグデータの世界
6 月 18 日 Next - Google が描く、MapReduce を超えたビッグデータの世界
Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用
Bigquery
Bigquery
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
gcpug_kyoto_bigquery
gcpug_kyoto_bigquery
FirebaseAnalytics_BigQuery_Datastudio
FirebaseAnalytics_BigQuery_Datastudio
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
弊社BigQuery節約節約事例
弊社BigQuery節約節約事例
Google Big Query
Google Big Query
BigQuery ハンズオン
BigQuery ハンズオン
BigQuery ML for unstructured data
BigQuery ML for unstructured data
G gencorp
G gencorp
Data Visualization meetup 2017
Data Visualization meetup 2017
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
Google BigQuery 導入編
Google BigQuery 導入編
これでBigQueryをドヤ顔で語れる!BigQueryの基本
1.
BigQueryってなんぞ ~ これだけ知っていればドヤ顔でBigQueryを語れる ~ 2015-12-25
新田 智啓 1
2.
目次 2 ‣ BigQuery概要 ‣ BigQueryをちょっと試してみる ‣
BigQueryの基本 & Tips ‣ BigQueryの課金を減らす ‣ BigQueryまとめ
3.
BigQuery概要 3 ‣ Googleが出しているデータベースストレージ ‣ フルマネージドサービス(複数地域に透過的なレプリケーション) ‣
デカイデータも処理可能(ペタバイト級もらくらく) ‣ 従量課金制 (怖い) ‣ 列指向 (Indexは無い ってか要らない) ‣ WriteとReadのみ。Updateは出来ない(と思っておいたほうがよい)
4.
BigQuery概要 4 ‣ 分析に使う想定で、どんな軸でデータを見たいかを 事前にIndex設計とかしきれないよね。 ‣ データとして取れている、いろいろ全部の項目を 分析に使いたいよね。 ‣
全部にIndex張るとか出来ないの?
5.
BigQuery概要 5 ‣ Google的発想での解決 ‣ Index決めるのが無理なら、 全部スキャンすればいいじゃない ↓ 超絶マシン台数を用意して分散処理
6.
BigQuery概要 6 Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Distributed file storage
layer (table) results
7.
BigQuery概要 7 ‣ なんとなくすごい
8.
トライアル 8 ‣ BigQueryを試してみる
9.
トライアル 9
10.
トライアル 10
11.
トライアル 11
12.
トライアル 12
13.
トライアル 13 ‣ 画面のCreate New
Tableからテーブル作成出来る ‣ CSVファイルなども手軽にimport ‣ Google Cloud Storageにあるデータも簡単にload ‣ 転送量無料 (バルク処理のみ、ストリームは有料)
14.
トライアル 14
15.
トライアル 15
16.
BigQueryの基本&Tips 16 ‣ BigQueryの基本&Tips
17.
BigQueryの基本&Tips 17 ‣ BigQueryは時に処理を数千台で行われる ‣ 指定されたテーブルの全てのデータを スキャンして処理を行う ‣
データサイズは数PBでも問題がない ‣ データサイズにもよるがクエリは数秒∼数分で返ってくる ‣ クエリでスキャンしたデータ量に対して課金
18.
BigQueryの基本&Tips 18 ‣ データのインポート 無料 ‣
データのエクスポート 無料 ‣ ストレージ 1GBあたり$0.020/月 (参考: AWSの東京S3は$0.019 /GB + In/Outの転送量) ‣ クエリ でスキャンしたデータ量1TBあたり$5 (月ごとに1TBの無料利用枠あり) ‣ Streaming Insert 200MBあたり$0.01 (以前は10万行につき$0.01)
19.
BigQueryの基本&Tips 19 ‣ プロジェクト >
データセット > テーブル の階層構造 ‣ 列指向データベース ‣ 全てのデータは登録した時の時間を持つ ‣ Google Cloud Storage と相性が良い ‣ Streamingでデータ投入可能(課金されます)
20.
BigQueryの基本&Tips 20 ‣ 基本はスキーマ定義する ‣ JSONを使うとスキーマレスで運用できる (SQLが難しくなるので、ご利用は計画的に) ‣
Streamingでの登録は fluent-plugin-bigqueryもある ‣ ローカルなど他の場所にあるデータは GCS(Google Cloud Storage)に入れてから BigQueryにインポートすると早い (bq loadコマンド)
21.
BigQueryの基本&Tips 21 ‣ bq コマンド ‣
ls : プロジェクトやデータセットの一覧を表示 ‣ load : ファイルなどをロード ‣ mk : テーブル作成 ‣ cp : テーブルなどのコピー ‣ query : クエリの実行 もっと知りたい人はこちら https://cloud.google.com/bigquery/bq-command-line-tool
22.
BigQueryの基本&Tips 22 ‣ BigQueryのSyntax ‣ SELECT ‣
JOIN ‣ FROM ‣ WHERE ‣ ORDER BY もっと知りたい人はこちら https://cloud.google.com/bigquery/query-reference . ‣ GROUP BY ‣ HAVING ‣ LIMIT ‣ ROLLUP ‣ OMIT…IF
23.
BigQueryの基本&Tips 23 もっと知りたい人はこちら https://cloud.google.com/bigquery/query-reference
24.
BigQueryの基本&Tips 24 ‣ Tips: BigQueryのCOUNT
function ‣ COUNT(DISTINCT(field_name))は概算値を返す ‣ fieldの値はnon-nullな値をCount ‣ 正確な数値が欲しい場合は EXACT_COUNT_DISTINCTもしくは GROUP EACH BYしてCOUNT(*) の値を取得する ‣ BigQueryのCOUNTは第2引数があり、COUNTの概 算値を出す時の精度を指定する。(デフォルト:1000)
25.
BigQueryの基本&Tips 25 ‣ BigQueryのJSONで使えるSyntax ‣ JSON_EXTRACT
: JSONのパスからvalueを取り出す ‣ FLATTEN : 配列を1行のデータへ置き換える ‣ WITHIN : JSONのNodeからデータを取り出す ‣ WITHIN RECODE: JSONのレコードからデータを取り出す もっと知りたい人はこちら https://cloud.google.com/bigquery/query-reference
26.
BigQueryの基本&Tips 26 ‣ Table wildcard
functions ‣ TABLE_DATE_RANGE ‣ TABLE_DATE_RANGE_STRICT ‣ TABLE_QUERY もっと知りたい人はこちら https://cloud.google.com/bigquery/query-reference ※具体的な使い方は後述
27.
BigQueryの基本&Tips 27 ‣ Table Decorators ‣
登録された時間に対してクエリ範囲を指定する (範囲をmillisecondsで指定する) ‣ 指定できるのは過去7日以内のデータのみ もっと知りたい人はこちら https://cloud.google.com/bigquery/table-decorators (例) 今から1ms前∼60秒前までのデータを検索 SELECT COUNT(*) FROM [dataset.access_log@-60000‒1];
28.
BigQueryの基本&Tips 28 ‣ もっと難しい変換とか計算したいんだけど! という方に。 ‣ 大丈夫です。 UDF(User-Defined
Functions) 使えます。 ‣ 言語はJavaScript もっと知りたい人はこちら https://cloud.google.com/bigquery/user-defined-functions
29.
BigQueryの基本&Tips 29 ‣ ThirdPartyToolとの連携
30.
BigQueryの課金を減らす 30 ‣ BigQueryの課金を減らす
31.
BigQueryの課金を減らす 31 BigQueryでは扱うデータも大きく 課金方法が他とは違い独特なため 気をつけないと大変なことになります。
32.
大変なことになった例 32 ‣ Qiita: BigQueryで150万円溶かした人の顔 http://qiita.com/itkr/items/745d54c781badc148bb9
33.
大変なことになった例 33 ‣ 既存データからSELECTしたデータで新テーブルを作ろうとした http://qiita.com/itkr/items/745d54c781badc148bb9 --allow_large_results をつけないと、 データ量が多い場合に "Error: Response
too large to return in big query というエラーになります。
34.
BigQueryの課金を減らす 34 ‣ クエリでスキャンしたデータ量に対して課金 ‣ 指定されたテーブルの全てのデータを スキャンして処理を行う ‣
= 指定したテーブルサイズで課金額が決まる ‣ = WHERE句は課金額に関係ない (検索結果が絞りこまれ数件でも課金額には関係がない)
35.
BigQueryの課金を減らす 35 ‣ では、どうすれば課金を 抑えることが出来るか ‣ ポイントは2つ
36.
BigQueryの課金を減らす 36 ‣ 1.列型指向データベース
37.
BigQueryの課金を減らす 37 ‣ 列型指向データベース ‣ カラムごとにデータを保持している ‣
不用意なSELECT * FROM … のクエリをやめ、 必要なカラムのみをSELECTで指定する C1 C2 C3 C4 C5 C6 C7 C8 C9 R1 R2 R3 R4 SELECT * の時にスキャンするデータ C1 C2 C3 C4 C5 C6 C7 C8 C9 R1 R2 R3 R4 SELECT C1,C2,C5,C8 の時に スキャンするデータ
38.
BigQueryの課金を減らす 38 ‣ 2.テーブル分割
39.
BigQueryの課金を減らす 39 ‣ スキャンの最小単位がテーブルなため テーブルを分割するのが定石 ‣ 巨大なデータで多いケースとして ログデータを扱うケースが多いため、まずは日付で 分割するのが定石 ‣
ログデータのため最近のデータほど価値が高い (利用頻度が多い)ケースが多い
40.
BigQueryの課金を減らす 40 ‣ テーブル分割 :
期間で分割したテーブルを利用する mydata.people20140325 mydata.people20140326 mydata.people20140327
41.
BigQueryの課金を減らす 41 ‣ テーブル分割 :
期間で分割したテーブルを利用する ‣ BigQueryで用意されている分割想定された関数を利用する ‣ TABLE_DATE_RANGE と TABLE_DATE_RANGE_STRICTの違いは シーケンスのなかで欠けている日次テーブルがあるときにエラーを返し ます。 ‣ 日別ではなく、月別で処理したいなどの時はYYYYMM01などの1日目 のデータのみを作るなどをすると楽です。
42.
BigQueryの課金を減らす 42 ‣ テーブル分割 :
自由なルールで分割する ‣ TABLE_QUERYを利用するとテーブル名に対して条件Queryを指定し て、合致したTableを検索対象のテーブルとして処理できます。 ‣ 例)テーブル名に oo が含まれて居て、テーブル名の長さが4以上のもの
43.
BigQueryの課金を減らす 43 ‣ テーブル分割 :
自由なルールで分割する ‣ 例)名前の先頭が "boo" で、 その後ろに 3 個から 5 個の数字の連続が含まれているテーブルにマッチする
44.
BigQueryの課金を減らす 44 ‣ テーブル分割 :
自由なルールで分割する ‣ テーブルを個別に指定する ‣ BigQueryのFROM句のカンマ区切りはJoinではなく、 Unionになっている
45.
BigQueryの課金を減らす 45 ‣ 課金額に気をつけるポイント まとめ
46.
BigQueryの課金を減らす 46 ‣ WHERE句での絞り込みは課金には関係ない 関連するデータ全てをスキャンする (絞り込み後ではなく絞り込むために読むデータに対して課金される) ‣ SELECT句で指定するカラムできるだけ絞り込む (列指向なので油断してSelect
* FROM … などにしない) ‣ テーブルは分割する(通常は期間で分割) TABLE_DATE_RANGEを使う前提で作ると便利 ‣ 全期間で複数回のクエリを実行して分析したいときは BigQueryを諦めて別の仕組みを利用することを考える (RedShift、Hadoop系のSparkやHive等、ElasticSearch)
47.
最新Update情報 47 ‣ 米国時間12/15 Updateほやほや ‣
監視ログ機能の追加(Beta) https://cloud.google.com/logging/docs/audit/ ‣ クォータをユーザが設定可能に!(使いすぎ防止) ‣ Query Explainグラフィカルツール ‣ などなど
48.
まとめ 48 ‣ BigQueryまとめ
49.
まとめ 49 ‣ 更新は出来ない!分析用途で利用! ‣ デカイデータに対して少ないクエリ回数で 利用出来る時に使える(データ量に対して激安!) (クエリ回数が多い時はまずRedShiftを検討) ‣
フルスキャンに気をつけろ!(トロケる) ‣ Index無し。あらゆる項目を軸に分析出来る! ‣ どれだけデカくなっても早い!!! ‣ Google的、富豪的解決方法!
50.
まとめ 50 明日から BigQueryはGoogleの発想だから 出来たんだよね! とドヤ顔で言ってやりましょう
51.
ありがとうございました 51 ご清聴ありがとうございました
Download now