SlideShare a Scribd company logo
1 of 8
Download to read offline
Google	BigQuery	を
使ってみた
2018-02-14	下野寿之
この資料は社内関係者の許可を得て、BigQuery を
初めて使って分かったことを人に随時説明するために、
補助資料として作ったものを公開するものです。
BigQuery とは
ØGoogle	クラウドのサービスの1つ。
ØSQL⽂でデータの参照が出来る。
ØSQL⽂のUpdate	と Deleteはできない。
Øインデックスも無いようだ。
Øとにかく速い。
Ø裏で数千台数万台のサーバーに計算を⾛らせている。
Ø今まで、2分以上かかったことが無い。
Ø簡単な計算は10〜15秒。簡単なのに60秒かかることもある。
Ø料⾦は 1TB(テラバイト)の参照に5ドル。
Øデータを1週間保管すると、同じ料⾦がかかる。
ØCPUに負荷がかかるような計算をしても、⼀定。
Ø参照する列(カラム)を減らすと、節約可能。
ØWhere	句で参照する⾏が、コスト上は減らない。
BigQueryを使う為には
• データのインポート:	
• GoogleクラウドのGCS(Google	Cloud	Storage)に
データファイルを載せて、インポートを要する。
• ブラウザで使う
• Googleアカウントを1つだけログインして使う。
• 他のGoogleアカウントは使えない。
• ブラウザはChrome	も Canaryも同時に起動すると、
メールやGoogleドライブの参照に便利。
BigQuery	のSQL
• Legacy と標準(Standard)	SQL の選択が必要。
• ブラウザでオプション設定して使う。
• Legacyはjoinやcount(distinct	..)に各種配慮が必要。
• ジョイン(複数のテーブルの結合)
• 最近は、{left,	right,	full} outer	join	が全て実⾏可能。
• 共有メモリの制約が気になったものの、問題無し。
• Over()句を使った分析関数が使える。
• Row_numer,	rank,	ntile,	approx_{top_count ,quantile}
• 配列も使える。
• 正規表現(regular	expression)による演算も可能。
BigQueryの結果の出⼒
• 20〜30⾏以内:
• ブラウザからエクセルへコピペする。
• 少しコツが必要。コピー領域は出⼒表の
最後のセルをぴったり選択する必要があるようだ。
• 約1万⾏以内:	
• CSV	形式ですぐ出⼒出来る。
• “配列” を含むセルが存在すると、出⼒不能になる。
• それ以上 :	
• Google	Cloud	Storage	を経由する。
• ローカルにGoogle	Cloud	SDK が必要のようだ。
select	age,	q6[offset(1)],	q6[offset(2)],	q6[offset(3)],	q6[offset(4)],	q6[offset(5)]	
from	
(select	age,	approx_quantile(pay,6)	q6	from	T01	inner	join	PAY2016	using	(	card_id )	
group	by	age	)		
1/6										2/6											3/6										4/6									5/6
参照した4個の表 :		6	- 請求情報 7-確定情報 8-月次請求額 22-支払判定
6と7と22に各⽀払の⽇付情報あり。6と7と8に、毎⽉の締年⽉の⽇付列あり。
Select	PAY16.annual_pay	,	T07.price	from	T07	inner	join	PAY16	using	(	card_id )	
where		rand	()	<	T07.price	/	57.124e8
#	各⽀払の額の57億1240万円に対する⽐で、ランダムに確率抽出。
図は R⾔語でプロット
2016年に2000万円以上請求されたカードによる、全体金額への貢献は約1%。

More Related Content

Similar to BigQueryを使ってみた(2018年2月)

BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編sutepoi
 
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介! 2018年11月15日 放送
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介!  2018年11月15日 放送[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介!  2018年11月15日 放送
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介! 2018年11月15日 放送Google Cloud Platform - Japan
 
Part 2: Data & AI 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 2: Data & AI 基盤 (製造リファレンス・アーキテクチャ勉強会)Part 2: Data & AI 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 2: Data & AI 基盤 (製造リファレンス・アーキテクチャ勉強会)Takeshi Fukuhara
 
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...Google Cloud Platform - Japan
 
賢くチェックするAWSの明細
賢くチェックするAWSの明細賢くチェックするAWSの明細
賢くチェックするAWSの明細Kieko Sakurai
 
気になる気になるAWSの利用料金
気になる気になるAWSの利用料金気になる気になるAWSの利用料金
気になる気になるAWSの利用料金Kieko Sakurai
 
マーケティングで使えるBigQueryMLテンプレート
マーケティングで使えるBigQueryMLテンプレートマーケティングで使えるBigQueryMLテンプレート
マーケティングで使えるBigQueryMLテンプレートさとる なかむら
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出Google Cloud Platform - Japan
 
コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法Aya Komuro
 
Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用QlikPresalesJapan
 
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオンGoogle Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン健一 辰濱
 
New Approach to Data Analysis System “Tableau + TreasureData” at Tableau User...
New Approach to Data Analysis System “Tableau + TreasureData” at Tableau User...New Approach to Data Analysis System “Tableau + TreasureData” at Tableau User...
New Approach to Data Analysis System “Tableau + TreasureData” at Tableau User...takaya imai
 
Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界Takahiro Inoue
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料Shinichiro Isago
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料guest628c07
 
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/IoT時代のデータベース GridDB
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/IoT時代のデータベース GridDB高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/IoT時代のデータベース GridDB
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/IoT時代のデータベース GridDBgriddb
 

Similar to BigQueryを使ってみた(2018年2月) (20)

Robust log process
Robust log processRobust log process
Robust log process
 
BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編
 
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介! 2018年11月15日 放送
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介!  2018年11月15日 放送[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介!  2018年11月15日 放送
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介! 2018年11月15日 放送
 
G gencorp
G gencorpG gencorp
G gencorp
 
Part 2: Data & AI 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 2: Data & AI 基盤 (製造リファレンス・アーキテクチャ勉強会)Part 2: Data & AI 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 2: Data & AI 基盤 (製造リファレンス・アーキテクチャ勉強会)
 
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
 
賢くチェックするAWSの明細
賢くチェックするAWSの明細賢くチェックするAWSの明細
賢くチェックするAWSの明細
 
気になる気になるAWSの利用料金
気になる気になるAWSの利用料金気になる気になるAWSの利用料金
気になる気になるAWSの利用料金
 
Gitを使おう
Gitを使おうGitを使おう
Gitを使おう
 
マーケティングで使えるBigQueryMLテンプレート
マーケティングで使えるBigQueryMLテンプレートマーケティングで使えるBigQueryMLテンプレート
マーケティングで使えるBigQueryMLテンプレート
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
 
コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法
 
Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用
 
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオンGoogle Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン
 
New Approach to Data Analysis System “Tableau + TreasureData” at Tableau User...
New Approach to Data Analysis System “Tableau + TreasureData” at Tableau User...New Approach to Data Analysis System “Tableau + TreasureData” at Tableau User...
New Approach to Data Analysis System “Tableau + TreasureData” at Tableau User...
 
Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
nginxの紹介
nginxの紹介nginxの紹介
nginxの紹介
 
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/IoT時代のデータベース GridDB
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/IoT時代のデータベース GridDB高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/IoT時代のデータベース GridDB
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/IoT時代のデータベース GridDB
 

More from Toshiyuki Shimono

国際産業数理・応用数理会議のポスター(作成中)
国際産業数理・応用数理会議のポスター(作成中)国際産業数理・応用数理会議のポスター(作成中)
国際産業数理・応用数理会議のポスター(作成中)Toshiyuki Shimono
 
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装Toshiyuki Shimono
 
extracting only a necessary file from a zip file
extracting only a necessary file from a zip fileextracting only a necessary file from a zip file
extracting only a necessary file from a zip fileToshiyuki Shimono
 
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021Toshiyuki Shimono
 
新型コロナの感染者数 全国の状況 2021年2月上旬まで
新型コロナの感染者数 全国の状況 2021年2月上旬まで新型コロナの感染者数 全国の状況 2021年2月上旬まで
新型コロナの感染者数 全国の状況 2021年2月上旬までToshiyuki Shimono
 
Multiplicative Decompositions of Stochastic Distributions and Their Applicat...
 Multiplicative Decompositions of Stochastic Distributions and Their Applicat... Multiplicative Decompositions of Stochastic Distributions and Their Applicat...
Multiplicative Decompositions of Stochastic Distributions and Their Applicat...Toshiyuki Shimono
 
Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...Toshiyuki Shimono
 
Interpreting Multiple Regression via an Ellipse Inscribed in a Square Extensi...
Interpreting Multiple Regressionvia an Ellipse Inscribed in a Square Extensi...Interpreting Multiple Regressionvia an Ellipse Inscribed in a Square Extensi...
Interpreting Multiple Regression via an Ellipse Inscribed in a Square Extensi...Toshiyuki Shimono
 
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案Toshiyuki Shimono
 
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...Toshiyuki Shimono
 
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...Toshiyuki Shimono
 
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)Toshiyuki Shimono
 
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案Toshiyuki Shimono
 
新入社員の頃に教えて欲しかったようなことなど
新入社員の頃に教えて欲しかったようなことなど新入社員の頃に教えて欲しかったようなことなど
新入社員の頃に教えて欲しかったようなことなどToshiyuki Shimono
 
ページャ lessを使いこなす
ページャ lessを使いこなすページャ lessを使いこなす
ページャ lessを使いこなすToshiyuki Shimono
 
Guiを使わないテキストデータ処理
Guiを使わないテキストデータ処理Guiを使わないテキストデータ処理
Guiを使わないテキストデータ処理Toshiyuki Shimono
 
データ全貌把握の方法170324
データ全貌把握の方法170324データ全貌把握の方法170324
データ全貌把握の方法170324Toshiyuki Shimono
 
Macで開発環境を整える170420
Macで開発環境を整える170420Macで開発環境を整える170420
Macで開発環境を整える170420Toshiyuki Shimono
 
大きなテキストデータを閲覧するには
大きなテキストデータを閲覧するには大きなテキストデータを閲覧するには
大きなテキストデータを閲覧するにはToshiyuki Shimono
 

More from Toshiyuki Shimono (20)

国際産業数理・応用数理会議のポスター(作成中)
国際産業数理・応用数理会議のポスター(作成中)国際産業数理・応用数理会議のポスター(作成中)
国際産業数理・応用数理会議のポスター(作成中)
 
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
 
extracting only a necessary file from a zip file
extracting only a necessary file from a zip fileextracting only a necessary file from a zip file
extracting only a necessary file from a zip file
 
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
 
新型コロナの感染者数 全国の状況 2021年2月上旬まで
新型コロナの感染者数 全国の状況 2021年2月上旬まで新型コロナの感染者数 全国の状況 2021年2月上旬まで
新型コロナの感染者数 全国の状況 2021年2月上旬まで
 
Multiplicative Decompositions of Stochastic Distributions and Their Applicat...
 Multiplicative Decompositions of Stochastic Distributions and Their Applicat... Multiplicative Decompositions of Stochastic Distributions and Their Applicat...
Multiplicative Decompositions of Stochastic Distributions and Their Applicat...
 
Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...
 
Interpreting Multiple Regression via an Ellipse Inscribed in a Square Extensi...
Interpreting Multiple Regressionvia an Ellipse Inscribed in a Square Extensi...Interpreting Multiple Regressionvia an Ellipse Inscribed in a Square Extensi...
Interpreting Multiple Regression via an Ellipse Inscribed in a Square Extensi...
 
Seminar0917
Seminar0917Seminar0917
Seminar0917
 
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案
 
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
 
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
 
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)
 
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案
 
新入社員の頃に教えて欲しかったようなことなど
新入社員の頃に教えて欲しかったようなことなど新入社員の頃に教えて欲しかったようなことなど
新入社員の頃に教えて欲しかったようなことなど
 
ページャ lessを使いこなす
ページャ lessを使いこなすページャ lessを使いこなす
ページャ lessを使いこなす
 
Guiを使わないテキストデータ処理
Guiを使わないテキストデータ処理Guiを使わないテキストデータ処理
Guiを使わないテキストデータ処理
 
データ全貌把握の方法170324
データ全貌把握の方法170324データ全貌把握の方法170324
データ全貌把握の方法170324
 
Macで開発環境を整える170420
Macで開発環境を整える170420Macで開発環境を整える170420
Macで開発環境を整える170420
 
大きなテキストデータを閲覧するには
大きなテキストデータを閲覧するには大きなテキストデータを閲覧するには
大きなテキストデータを閲覧するには
 

BigQueryを使ってみた(2018年2月)