SlideShare a Scribd company logo
1 of 18
Download to read offline
3章(4) 他サービスとの連携
@siburu
1
目次
1. Google Cloud Storageのセットアップ
2. (本書で扱うサンプルコードの)開発環境
3. 3章のまとめ
2
1.1 Google Cloud Storage
• GCSとは:
• GCPにおけるハードディスクの役割
• Free tierが無い=使用には課金有効化が必須
3
<<メモ>> 課金システム
• 4 criteria
!
!
!
!
• (出典) https://developers.google.com/storage/pricing
課金対象 課金基準
Storage 使用サイズ(GB) 使用時間(日)に比例
Network 出力量に比例、入力は無料。出力先地域によって差
Custom metadata MetadataサイズもStorage/Network課金に加算
Operations 操作回数に比例。操作によって差(Class A/B/Free)
4
1.2 使い方
• Enabling (in project)
• Developers console -> APIS&AUTH -> APIs
• Creating buckets
• Must choose globally unique IDs for buckets
• Reliable option = To use a project ID as a bucket ID
• Managing data
• Storage browser : web-based tool
• gsutil : command-line tool
5
Enabling APIs
6
Bucket with the same name as project ID
7
File in the bucket
8
9
1.3 BigQueryとの連携
• Extract
• bq extract <dataset>:<table> <dst-url>!
• Load
• bq load <dataset>:<table> <src-url> <schema-json>
10
11
12
2. 開発環境
• サンプルコード
• http://storage.googleapis.com/bigquery-e2e/downloads/bigquery_e2e_samples.zip
• ツール
• Pythonライブラリ

https://developers.google.com/api-client-library/python/start/installation

または bigquery_e2e_samples/lib
• Javaライブラリ

https://developers.google.com/api-client-library/java/apis/bigquery/v2

サンプルに含まれていない気がする・・・(本書では扱わない?)
• AppEngine

https://developers.google.com/appengine/download#Google_App_Engine_SDK_for_Python 

サンプルプロジェクト: bigquery_e2e_samples/ch08/sensors/cloud
• Android

http://www.android.com

サンプルプロジェクト: bigquery_e2e_samples/ch08/sensors/client
• 「全てのツールを一度にインストールするよりも、必要になった時に本節に戻ってくる方が良い」
13
<<Python例>>認証
# bq_cred.dat : 初回起動時にOAuth2認証プロセスを経て作成される!
# client_secret.json : Developer Consoleで作成!
!
storage = Storage(‘bq_cred.dat’)!
cred = storage.get()!
!
if cred is None or cred.invalid:!
from oauth2client.client import flow_from_clientsecrets!
from oauth2client import tools!
flow = flow_from_clientsecrets('client_secret.json',!
scope=‘https://www.googleapis.com/auth/'!
+ ‘bigquery’)!
cred = tools.run_flow(flow, storage,!
tools.argparser.parse_args([]))!
!
http = httplib2.Http()!
http = cred.authorize(http)
14
<<Python例>>クエリ発行
service = build('bigquery', 'v2', http=http)!
!
query_stmt = {'query':!
'SELECT primary_city, COUNT(primary_city) '!
+ 'FROM [reference.zip_codes] '!
+ 'GROUP BY 1 '!
+ 'LIMIT 10'}!
!
query = service.jobs().query(!
projectId=PROJECT_ID, body=query_stmt)!
!
query_response = query.execute()
15
<<Python例>>結果の使用
for row in query_response['rows']:!
result_row = []!
for field in row['f']:!
result_row.append(field['v'])!
print (‘t').join(result_row)!
!
!
# rowsとかfとかvとかは、JSON API formatに由来(詳しくは以下)!
# https://developers.google.com/bigquery/docs/reference/v2/
16
3. 3章のまとめ
• 本章では以下を扱った。
• Google Cloud Platformセットアップ
• アカウントとプロジェクト
• 対話ツール
• BigQuery Webクライアント
• bq : BigQueryコマンドラインクライアント
• gsutil : GCSコマンドラインクライアント
• 開発環境へのポインタ
• Pythonライブラリ, Javaライブラリ, AppEngine, Android
• 本章の内容は時間と共に変わる。

オンラインリソースへのポインタを充実させたので、説明通りにいかなければそちらへ
17
以上
18

More Related Content

What's hot

[Cloud OnAir] クラウド時代に待ったナシ!クラウド、そして Google Cloud Platform を選ぶワケ (LIVE) 201...
[Cloud OnAir] クラウド時代に待ったナシ!クラウド、そして Google Cloud Platform を選ぶワケ (LIVE) 201...[Cloud OnAir] クラウド時代に待ったナシ!クラウド、そして Google Cloud Platform を選ぶワケ (LIVE) 201...
[Cloud OnAir] クラウド時代に待ったナシ!クラウド、そして Google Cloud Platform を選ぶワケ (LIVE) 201...Google Cloud Platform - Japan
 
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送Google Cloud Platform - Japan
 
[Cloud OnAir ] #03 No-ops で大量データ処理基盤を簡単に構築する
[Cloud OnAir ] #03 No-ops で大量データ処理基盤を簡単に構築する[Cloud OnAir ] #03 No-ops で大量データ処理基盤を簡単に構築する
[Cloud OnAir ] #03 No-ops で大量データ処理基盤を簡単に構築するGoogle Cloud Platform - Japan
 
Google BigQuery クエリの処理の流れ - #bq_sushi
Google BigQuery クエリの処理の流れ - #bq_sushi Google BigQuery クエリの処理の流れ - #bq_sushi
Google BigQuery クエリの処理の流れ - #bq_sushi Google Cloud Platform - Japan
 
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送Google Cloud Platform - Japan
 
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送Google Cloud Platform - Japan
 
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送Google Cloud Platform - Japan
 
[Cloud OnAir] Google Cloud 主催イベント Anthos Day 情報 2020 年 2 月 13 日放送
[Cloud OnAir] Google Cloud 主催イベント Anthos Day 情報 2020 年 2 月 13 日放送[Cloud OnAir] Google Cloud 主催イベント Anthos Day 情報 2020 年 2 月 13 日放送
[Cloud OnAir] Google Cloud 主催イベント Anthos Day 情報 2020 年 2 月 13 日放送Google Cloud Platform - Japan
 
[Cloud OnAir] 安心して GCP を使うための処方箋 ~ 実際のインシデントをもとに ~ 2019年11月14日 放送
[Cloud OnAir] 安心して GCP を使うための処方箋 ~ 実際のインシデントをもとに ~ 2019年11月14日 放送[Cloud OnAir] 安心して GCP を使うための処方箋 ~ 実際のインシデントをもとに ~ 2019年11月14日 放送
[Cloud OnAir] 安心して GCP を使うための処方箋 ~ 実際のインシデントをもとに ~ 2019年11月14日 放送Google Cloud Platform - Japan
 
[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...
[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...
[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...Google Cloud Platform - Japan
 
Azure Batch Renderingではじめるクラウドレンダリング
Azure Batch RenderingではじめるクラウドレンダリングAzure Batch Renderingではじめるクラウドレンダリング
Azure Batch RenderingではじめるクラウドレンダリングMicrosoft
 
[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送
[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送
[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送Google Cloud Platform - Japan
 
[Cloud OnAir] Cloud Run Deep Dive ~ GCP で実践するモダンなサーバーレス アプリケーション開発 ~ 2019年9月...
[Cloud OnAir] Cloud Run Deep Dive  ~ GCP で実践するモダンなサーバーレス アプリケーション開発 ~ 2019年9月...[Cloud OnAir] Cloud Run Deep Dive  ~ GCP で実践するモダンなサーバーレス アプリケーション開発 ~ 2019年9月...
[Cloud OnAir] Cloud Run Deep Dive ~ GCP で実践するモダンなサーバーレス アプリケーション開発 ~ 2019年9月...Google Cloud Platform - Japan
 
GCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & Apps
GCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & AppsGCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & Apps
GCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & AppsGoogle Cloud Platform - Japan
 
20171122 altair converge2017publish
20171122 altair converge2017publish20171122 altair converge2017publish
20171122 altair converge2017publishHiroshi Tanaka
 
[Cloud OnAir] GCP でできる Lift & Shift 〜 移行支援ツールも各種ご紹介 〜 2019年1月17日 放送
[Cloud OnAir] GCP でできる Lift & Shift 〜 移行支援ツールも各種ご紹介 〜 2019年1月17日 放送[Cloud OnAir] GCP でできる Lift & Shift 〜 移行支援ツールも各種ご紹介 〜 2019年1月17日 放送
[Cloud OnAir] GCP でできる Lift & Shift 〜 移行支援ツールも各種ご紹介 〜 2019年1月17日 放送Google Cloud Platform - Japan
 
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送Google Cloud Platform - Japan
 
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座Samir Hammoudi
 
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送Google Cloud Platform - Japan
 
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送Google Cloud Platform - Japan
 

What's hot (20)

[Cloud OnAir] クラウド時代に待ったナシ!クラウド、そして Google Cloud Platform を選ぶワケ (LIVE) 201...
[Cloud OnAir] クラウド時代に待ったナシ!クラウド、そして Google Cloud Platform を選ぶワケ (LIVE) 201...[Cloud OnAir] クラウド時代に待ったナシ!クラウド、そして Google Cloud Platform を選ぶワケ (LIVE) 201...
[Cloud OnAir] クラウド時代に待ったナシ!クラウド、そして Google Cloud Platform を選ぶワケ (LIVE) 201...
 
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 
[Cloud OnAir ] #03 No-ops で大量データ処理基盤を簡単に構築する
[Cloud OnAir ] #03 No-ops で大量データ処理基盤を簡単に構築する[Cloud OnAir ] #03 No-ops で大量データ処理基盤を簡単に構築する
[Cloud OnAir ] #03 No-ops で大量データ処理基盤を簡単に構築する
 
Google BigQuery クエリの処理の流れ - #bq_sushi
Google BigQuery クエリの処理の流れ - #bq_sushi Google BigQuery クエリの処理の流れ - #bq_sushi
Google BigQuery クエリの処理の流れ - #bq_sushi
 
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
 
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
 
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
 
[Cloud OnAir] Google Cloud 主催イベント Anthos Day 情報 2020 年 2 月 13 日放送
[Cloud OnAir] Google Cloud 主催イベント Anthos Day 情報 2020 年 2 月 13 日放送[Cloud OnAir] Google Cloud 主催イベント Anthos Day 情報 2020 年 2 月 13 日放送
[Cloud OnAir] Google Cloud 主催イベント Anthos Day 情報 2020 年 2 月 13 日放送
 
[Cloud OnAir] 安心して GCP を使うための処方箋 ~ 実際のインシデントをもとに ~ 2019年11月14日 放送
[Cloud OnAir] 安心して GCP を使うための処方箋 ~ 実際のインシデントをもとに ~ 2019年11月14日 放送[Cloud OnAir] 安心して GCP を使うための処方箋 ~ 実際のインシデントをもとに ~ 2019年11月14日 放送
[Cloud OnAir] 安心して GCP を使うための処方箋 ~ 実際のインシデントをもとに ~ 2019年11月14日 放送
 
[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...
[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...
[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...
 
Azure Batch Renderingではじめるクラウドレンダリング
Azure Batch RenderingではじめるクラウドレンダリングAzure Batch Renderingではじめるクラウドレンダリング
Azure Batch Renderingではじめるクラウドレンダリング
 
[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送
[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送
[Cloud OnAir] ゼロから始める Cloud Run 〜概要から実践まで全てをお届けします〜 2020 年 2 月 20 日放送
 
[Cloud OnAir] Cloud Run Deep Dive ~ GCP で実践するモダンなサーバーレス アプリケーション開発 ~ 2019年9月...
[Cloud OnAir] Cloud Run Deep Dive  ~ GCP で実践するモダンなサーバーレス アプリケーション開発 ~ 2019年9月...[Cloud OnAir] Cloud Run Deep Dive  ~ GCP で実践するモダンなサーバーレス アプリケーション開発 ~ 2019年9月...
[Cloud OnAir] Cloud Run Deep Dive ~ GCP で実践するモダンなサーバーレス アプリケーション開発 ~ 2019年9月...
 
GCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & Apps
GCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & AppsGCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & Apps
GCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & Apps
 
20171122 altair converge2017publish
20171122 altair converge2017publish20171122 altair converge2017publish
20171122 altair converge2017publish
 
[Cloud OnAir] GCP でできる Lift & Shift 〜 移行支援ツールも各種ご紹介 〜 2019年1月17日 放送
[Cloud OnAir] GCP でできる Lift & Shift 〜 移行支援ツールも各種ご紹介 〜 2019年1月17日 放送[Cloud OnAir] GCP でできる Lift & Shift 〜 移行支援ツールも各種ご紹介 〜 2019年1月17日 放送
[Cloud OnAir] GCP でできる Lift & Shift 〜 移行支援ツールも各種ご紹介 〜 2019年1月17日 放送
 
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送
[Cloud OnAir] クラウド移行後の最適化方法を伝授。でも最適化ってなんですか? (LIVE) 2018年2月8日 放送
 
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
 
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
 
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
 

Similar to 10

Recap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringRecap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringKazuki Takai
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編Takekazu Omi
 
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンAzure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンKazuyuki Miyake
 
Azure Kubernetes ServiceとCI/CD pipeline
Azure Kubernetes ServiceとCI/CD pipelineAzure Kubernetes ServiceとCI/CD pipeline
Azure Kubernetes ServiceとCI/CD pipelineryosuke matsumura
 
Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Yuji Kubota
 
20181120 HowtoFlow
20181120 HowtoFlow20181120 HowtoFlow
20181120 HowtoFlowTomoyuki Obi
 
Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)Yu Amano
 
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]オラクルエンジニア通信
 
そろそろGCPも・・・ という方に贈るGCP入門
そろそろGCPも・・・ という方に贈るGCP入門そろそろGCPも・・・ という方に贈るGCP入門
そろそろGCPも・・・ という方に贈るGCP入門Shinya Sasaki
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境Kazumi IWANAGA
 
Magnum IO GPUDirect Storage 最新情報
Magnum IO GPUDirect Storage 最新情報Magnum IO GPUDirect Storage 最新情報
Magnum IO GPUDirect Storage 最新情報NVIDIA Japan
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化Google Cloud Platform - Japan
 
KubeFlow MeetUp #1 Katibよもやま話
KubeFlow MeetUp #1 Katibよもやま話KubeFlow MeetUp #1 Katibよもやま話
KubeFlow MeetUp #1 Katibよもやま話Yuji Oshima
 
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~griddb
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出Google Cloud Platform - Japan
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンKazuyuki Miyake
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシートMasayuki Ozawa
 
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Takekazu Omi
 
DXを支えるスケールアウト型NoSQL/SQLハイブリッドデータベース GridDB
DXを支えるスケールアウト型NoSQL/SQLハイブリッドデータベース GridDBDXを支えるスケールアウト型NoSQL/SQLハイブリッドデータベース GridDB
DXを支えるスケールアウト型NoSQL/SQLハイブリッドデータベース GridDBgriddb
 

Similar to 10 (20)

Recap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringRecap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover Clustering
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
 
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンAzure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
 
Azure Kubernetes ServiceとCI/CD pipeline
Azure Kubernetes ServiceとCI/CD pipelineAzure Kubernetes ServiceとCI/CD pipeline
Azure Kubernetes ServiceとCI/CD pipeline
 
Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?
 
20181120 HowtoFlow
20181120 HowtoFlow20181120 HowtoFlow
20181120 HowtoFlow
 
Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)Wordpress案件にgkeを採用してみた(短縮版)
Wordpress案件にgkeを採用してみた(短縮版)
 
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
 
そろそろGCPも・・・ という方に贈るGCP入門
そろそろGCPも・・・ という方に贈るGCP入門そろそろGCPも・・・ という方に贈るGCP入門
そろそろGCPも・・・ という方に贈るGCP入門
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
 
Magnum IO GPUDirect Storage 最新情報
Magnum IO GPUDirect Storage 最新情報Magnum IO GPUDirect Storage 最新情報
Magnum IO GPUDirect Storage 最新情報
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
 
20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf
 
KubeFlow MeetUp #1 Katibよもやま話
KubeFlow MeetUp #1 Katibよもやま話KubeFlow MeetUp #1 Katibよもやま話
KubeFlow MeetUp #1 Katibよもやま話
 
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
サイバーフィジカルシステム(CPS)に必要なデータ基盤を考える ~ NoSQL/SQLハイブリット型GridDB ~
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシート
 
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編
 
DXを支えるスケールアウト型NoSQL/SQLハイブリッドデータベース GridDB
DXを支えるスケールアウト型NoSQL/SQLハイブリッドデータベース GridDBDXを支えるスケールアウト型NoSQL/SQLハイブリッドデータベース GridDB
DXを支えるスケールアウト型NoSQL/SQLハイブリッドデータベース GridDB
 

10

  • 2. 目次 1. Google Cloud Storageのセットアップ 2. (本書で扱うサンプルコードの)開発環境 3. 3章のまとめ 2
  • 3. 1.1 Google Cloud Storage • GCSとは: • GCPにおけるハードディスクの役割 • Free tierが無い=使用には課金有効化が必須 3
  • 4. <<メモ>> 課金システム • 4 criteria ! ! ! ! • (出典) https://developers.google.com/storage/pricing 課金対象 課金基準 Storage 使用サイズ(GB) 使用時間(日)に比例 Network 出力量に比例、入力は無料。出力先地域によって差 Custom metadata MetadataサイズもStorage/Network課金に加算 Operations 操作回数に比例。操作によって差(Class A/B/Free) 4
  • 5. 1.2 使い方 • Enabling (in project) • Developers console -> APIS&AUTH -> APIs • Creating buckets • Must choose globally unique IDs for buckets • Reliable option = To use a project ID as a bucket ID • Managing data • Storage browser : web-based tool • gsutil : command-line tool 5
  • 7. Bucket with the same name as project ID 7
  • 8. File in the bucket 8
  • 9. 9
  • 10. 1.3 BigQueryとの連携 • Extract • bq extract <dataset>:<table> <dst-url>! • Load • bq load <dataset>:<table> <src-url> <schema-json> 10
  • 11. 11
  • 12. 12
  • 13. 2. 開発環境 • サンプルコード • http://storage.googleapis.com/bigquery-e2e/downloads/bigquery_e2e_samples.zip • ツール • Pythonライブラリ
 https://developers.google.com/api-client-library/python/start/installation
 または bigquery_e2e_samples/lib • Javaライブラリ
 https://developers.google.com/api-client-library/java/apis/bigquery/v2
 サンプルに含まれていない気がする・・・(本書では扱わない?) • AppEngine
 https://developers.google.com/appengine/download#Google_App_Engine_SDK_for_Python 
 サンプルプロジェクト: bigquery_e2e_samples/ch08/sensors/cloud • Android
 http://www.android.com
 サンプルプロジェクト: bigquery_e2e_samples/ch08/sensors/client • 「全てのツールを一度にインストールするよりも、必要になった時に本節に戻ってくる方が良い」 13
  • 14. <<Python例>>認証 # bq_cred.dat : 初回起動時にOAuth2認証プロセスを経て作成される! # client_secret.json : Developer Consoleで作成! ! storage = Storage(‘bq_cred.dat’)! cred = storage.get()! ! if cred is None or cred.invalid:! from oauth2client.client import flow_from_clientsecrets! from oauth2client import tools! flow = flow_from_clientsecrets('client_secret.json',! scope=‘https://www.googleapis.com/auth/'! + ‘bigquery’)! cred = tools.run_flow(flow, storage,! tools.argparser.parse_args([]))! ! http = httplib2.Http()! http = cred.authorize(http) 14
  • 15. <<Python例>>クエリ発行 service = build('bigquery', 'v2', http=http)! ! query_stmt = {'query':! 'SELECT primary_city, COUNT(primary_city) '! + 'FROM [reference.zip_codes] '! + 'GROUP BY 1 '! + 'LIMIT 10'}! ! query = service.jobs().query(! projectId=PROJECT_ID, body=query_stmt)! ! query_response = query.execute() 15
  • 16. <<Python例>>結果の使用 for row in query_response['rows']:! result_row = []! for field in row['f']:! result_row.append(field['v'])! print (‘t').join(result_row)! ! ! # rowsとかfとかvとかは、JSON API formatに由来(詳しくは以下)! # https://developers.google.com/bigquery/docs/reference/v2/ 16
  • 17. 3. 3章のまとめ • 本章では以下を扱った。 • Google Cloud Platformセットアップ • アカウントとプロジェクト • 対話ツール • BigQuery Webクライアント • bq : BigQueryコマンドラインクライアント • gsutil : GCSコマンドラインクライアント • 開発環境へのポインタ • Pythonライブラリ, Javaライブラリ, AppEngine, Android • 本章の内容は時間と共に変わる。
 オンラインリソースへのポインタを充実させたので、説明通りにいかなければそちらへ 17