Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BigQuery 使ってみよう

BigQuery 使ってみよう

GDG 古都 Meetup 2021/02/06 発表資料

Noriko Takiguchi

December 16, 2023
Tweet

More Decks by Noriko Takiguchi

Other Decks in Programming

Transcript

  1. GDG 古都 Meetup YouTube LIVE GDG Nara & GDG Kyoto

    2021-2-6 13:30-15:50 Noriko Takiguchi GDG Kyoto: Organizer Programmer   BigQuery 使ってみよう Google Cloud Platform
  2. 2 本日のお話 • BigQuery とは? • 誰でも利用できる? • BigQuery サンドボックス

    • 一般公開データセット • チュートリアルやってみた • こんな魅力も • 参考リンク 個人活用も? 試してみる 料金設定・使用方法等の把握大事!
  3. 3 BigQuery とは? データウェアハウス フルマネージド サービス • 大規模な分散データストレージ • 高可用な並列

    SQL エンジン • 高速な処理(数秒/TB~数分/PB) • サーバーレス(インフラ管理不要) • データセキュリティ(暗号化・アクセス制御) • 他のGCP製品との相互運用性 BigQuery とは? 社内ツール Dremel 公開・進化 アドホック分析 繰り返し 大量データ 格納可能 データストレージとコンピューティングの分離
  4. 4 誰でも利用できる? すべての Google Cloud ユーザー Firebase ユーザーを含む • Google

    アカウント  ログインが必要 • Google Cloud プロジェクト  新プロジェクトの場合:自動的にBigQuery有効 • 課金の有効化・無料枠利用  課金有効化しない場合:サンドボックス使用 何が必要?
  5. 5 BigQuery サンドボックス • 無料枠と同じ無料使用量の上限(毎月)  10GB のアクティブ ストレージ 

    1TB のクエリデータ処理 • データセットの有効期限  デフォルトのパーティション有効期限 60日間  期限切れテーブル  48時間以内であれば復元可能 • 使用できない機能  データのストリーミング  データ操作言語(DML)のステートメント  BigQuery Data Transfer Service 制限範囲内 アクセス可能
  6. 9 一般公開データセット • Cloud Console から確認  [リソース]セクション(Preview機能非表示の時)  [エクスプローラ]パネル(Preview機能表示の時)

    • bigquery-public-data プロジェクト  すべてのプロジェクトに自動で固定 • サンプル テーブル(ロケーション設定:US)  bigquery-public-data:samples データセット  クエリ結果を別リージョンのテーブルに書込不可  別リージョンのテーブルとの結合不可 • サードパーティでホストされているプロジェクト https://cloud.google.com/bigquery/public-data
  7. 13 チュートリアルやってみた • Cloud Console の使用  https://cloud.google.com/bigquery/docs/ bigquery-web-ui 読み込み

    エクスポート クエリ・表示 管理 • プロジェクト • ジョブ • データセット • テーブル 主な操作 確認 BigQuery データ クイックスタートガイドより 一般公開データセット使用する場合 新しいデータセット作成する場合
  8. 14 Cloud Console データセット • プロジェクト  bigquery-public-data • データセット

     usa_names <選択> A A B B データセット 検索可能 一般公開データセット使用する場合
  9. 15 Cloud Console テーブル • プロジェクト  bigquery-public-data • データセット

     usa_names スキーマ表示 テーブル usa_1910_2013 A B C A B C • テーブル  usa_1910_2013 <選択> C
  10. 19 Cloud Console クエリ例 SELECT name, gender, SUM(number) AS total

    FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 10 対象テーブル:` プロジェクト . データセット . テーブル ` 取得順序:数が多い順に 取得列を必ず列挙 集計単位 + 集計(合計数) 表示上限:10件まで 課金削減にはならない 集計単位:名前+性別 対象テーブル 標準SQL
  11. 20 Cloud Console クエリ結果例 表形式の集計結果:10件表示 テーブル usa_1910_2013 所要時間 1.4 秒 処理されたバイト数

    99.95 MB 課金されるバイト数 100 MB 他の表示にも切替可能 • ジョブ情報 • JSON表示形式 • 実行詳細情報 <抜粋ジョブ情報> インタラクティブクエリ クエリ対象 テーブル行数 5,552,452
  12. 21 Cloud Console データセット作成 [エクスプローラ] パネルで 自分のプロジェクト <選択>後 クリック 作成画面表示

    • データセット  babynames B データセットを作成 クリック 新しいデータセット作成する場合 B
  13. 22 {プロジェクトID}: babynames Cloud Console テーブル作成 {プロジェクトID}:babynames {プロジェクトID} B A

    • プロジェクト  {プロジェクトID} • データセット  babynames A B クリック テーブル作成画面表示 新しいテーブル作成する場合 {プロジェクトID}:babynames
  14. 23 Cloud Console テーブル作成画面 name:string,gender:string,count:integer テーブル名:names_2014 C テーブルを作成 クリック ファイル形式:CSV

    作成元:アップロード スキーマ:テキストとして編集 自PCのCSVファイル選択&アップロード Emma,F,20941 Olivia,F,19817 ... Zyrin,M,5 行数:332,666
  15. 25 Cloud Console クエリ例 SELECT name, count FROM `babynames.names_2014` WHERE

    gender = 'M' ORDER BY count DESC LIMIT 5 対象テーブル:` データセット . テーブル ` 取得順序:数が多い順に 取得列を必ず列挙 名前と件数 表示上限:5件まで 課金削減にはならない 抽出条件:性別が男性 対象テーブル 自プロジェクト 標準SQL
  16. 26 Cloud Console クエリ結果例 テーブル names_2014 所要時間 0.2 秒 処理されたバイト数

    622.98 KB 課金されるバイト数 10 MB ジョブの優先度 INTERACTIVE <抜粋ジョブ情報> インタラクティブクエリ クエリ対象テーブル行数:332,666 表形式の抽出結果:5件表示
  17. 27 Cloud Console 履歴例 クエリ履歴 {アカウント} SELECT name, gender, SUM(number)

    AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 10 ジョブ履歴 アップロードされたファイル を {プロジェクトID}:babynames.names_2014 に読み込みます Cloud Console の下部にリンクあり
  18. 28 Cloud Console クリーンアップ データセット削除 [エクスプローラ] パネルで 自分のプロジェクト <選択>後 クリック

    削除ダイアログ 表示 適宜削除して不要な課金を防ぐ 対象のデータセット・テーブル すべてのデータ削除 削除 クリック
  19. 29 こんな魅力も • 標準SQL使用可能  使いやすさ  RDBMS(行指向データベース)経験の活用  拡張機能

    • 多種類のデータに対応 • 複数の接続方法 • バッチクエリ対応 • カラム指向データベース  特性を知って適切なクエリ作成  課金対象  クエリ処理量  データ保管料 注意点もあり <全列取得はNG>   SELECT * FROM … <LIMIT による制限>  クエリ処理量の削減できない  列情報全取得後の表示数制限
  20. 30 こんな魅力も • bq コマンドライン ツール の使用  https://cloud.google.com/bigquery/docs/bq- command-line-tool

    • クライアント ライブラリの使用  https://cloud.google.com/bigquery/docs/ quickstarts/quickstart-client-libraries?hl=ja • BigQuery データの可視化  データポータルを使用  Jupyter ノートブックを使用 • その他 … いろんなチュートリアル試せる
  21. 31 こんな魅力も • BigQuery GIS(地理情報システム)  地理空間データの分析および可視化  地理データ型と標準のSQL地理関数 •

    BigQuery ML  機械学習モデルの構築・評価(標準SQLクエリ) • BigQuery BI Engine  高速なメモリ内分析サービス • コネクテッド シート  スプレッドシート内のデータ分析(SQL知識不要) • BigQuery Omni (マルチクラウド機能:限定公開β版) • Data QnA(自然言語処理:限定公開β版)
  22. 32 参考リンク BigQuery • レート上限と割り当ての上限  https://cloud.google.com/bigquery/quotas • 料金・費用を抑えるおすすめの方法 

    https://cloud.google.com/bigquery/pricing  https://cloud.google.com/bigquery/docs/best-practices-costs • クエリ パフォーマンスの最適化  https://cloud.google.com/bigquery/docs/best-practices- performance-overview • クラウドブログ BigQuery  https://cloud.google.com/blog/products/bigquery https://cloud.google.com/bigquery
  23. 33 参考リンク BigQuery https://research.google/pubs/pub49489/ https://www.oreilly.com/library/view/ google-bigquery-the/9781492044451/ • Dremel: A Decade

    of Interactive SQL Analysis at Web Scale  BigQueryの基盤となったDremelの過去10年間の進化について • Google BigQuery: The Definitive Guide  Data Warehousing, Analytics, and Machine Learning at Scale 1st Edition  ISBN: 9781492044468
  24. 34 参考リンク Google Cloud Platform • https://cloud.google.com/docs • 管理コンソール 

    https://cloud.google.com/cloud-console • Google Cloud SDK  https://cloud.google.com/sdk/docs • 料金・請求先アカウント  https://cloud.google.com/pricing  https://cloud.google.com/billing/docs • 一般公開データセット  https://cloud.google.com/public-datasets https://cloud.google.com/
  25. 35 Let’s get started! ともに学びましょう! 変化する技術情報 Noriko Takiguchi [email protected] GDG

    Kyoto: Organizer • GDG (Google Developer Groups)  https://developers.google.com/community/gdg • GDG京都  https://gdg.community.dev/gdg-kyoto/  http://www.kyoto-gtug.org/  https://gdgkyoto.connpass.com/  https://twitter.com/gdgkyoto