@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「Google Cloud Platform実践ビッグデータ分析基盤開発 ストーリーで学ぶGoogle BigQuery」を読んだ

BigQueryを使っているので学んでみようと思って買ってみた。
以下の章立てになっていた。

Chapter 1. 人物紹介とプロジェクト概要
Chapter 2. BigQueryによるデータ分析
Chapter 3. BigQueryの基本と特徴
Chapter 4. パフォーマンスと費用
Chapter 5. データ収集の自動化
Chapter 6. ストリーミング処理でのデータ収集

分析基盤をクラウド基盤に移行するというストーリー仕立てになっている。その為、1章が人物紹介になっている。

データ分析

データポータル、スプレッドシート、bqコマンドなどを使ったデータ表示方法について説明されている。 BigQueryに繋いで操作するための手法がいくつも紹介されているのでBigQueryを使い始めれそう。

基本と特徴、パフォーマンスと費用

カラム指向、ツリーアーキテクチャなどのBIgQueryのアーキテクチャについての説明。型についての説明、パーティション、ジョブ、ビューなどの用語の説明がされていた。
パフォーマンスの方では、費用チューニング、パフォーマンスチューニングについて説明されていた。
パフォーマンスチューニングでは

  • サブクエリを多く使うのではなく、一時テーブルを使用すること
  • order by 句は処理を実行する並列処理ノードが限定されるため、order by の対象データサイズを減らすこと

がすすめられていた。

費用に関しては、スロットの説明、使える引数、上限割り当て、セキュリティについてと費用以外の話も書いてあり面白かった。ただ、セキュリティは具体的に書かれているわけではなく残念だった。

データ収集の自動化

BIgQueryへのデータ収集について説明されている。

  • データソースからGCSへの収集
    • GCS→BigQuery
    • GCS→Cloud Composer→BigQuery
      ※サンプルとして構築までの流れが説明されている
    • GCS→Cloud Dataflow→BigQuery
  • BigQuery DataTransfer Service for S3

BIgQueryへロードするために必要な処理についても説明されている。
ファイルフォーマット、カラムとデータ型、クレンジングの必要性、履歴テーブルについてなど。どれも実際に使おうとすると必要になるなと思う。

ストリーミング処理

アーキテクチャとしてPub/Subを使ったものが紹介されていた。

  • BigQuery API + クライアントライブラリ (結合処理: BIgQuery)
  • Apache Beam + SQL (結合処理: BIgQuery)
  • Apache Beam + SQL (結合処理: Dataflow)

まとめ

  • BigQueryの用語や仕組みについて少し詳しくなった
  • BigQueryを中心にしたデータ基盤周りの作りを一部学べた
  • GCPのサービスを少し知れた

Google BigQuery

Google BigQuery

GCPの教科書

GCPの教科書