Slide 1

Slide 1 text

第3部 現役データエンジニアが教える! BigQueryを中心としたデータ分析とその活用方法 Cloud Native DataEngineer Community 2023/03/16 19:40~20:00 五十嵐 勇人 1

Slide 2

Slide 2 text

© TOPGATE, Inc. All Rights Reserved アジェンダ 1. 自己紹介 2. LTの概要 3. Google CloudのBigQueryについて 4. BigQueryに関連するGoogle Cloudサービス 5. 活用事例 6. 必要なスキル 2

Slide 3

Slide 3 text

© TOPGATE, Inc. All Rights Reserved Place Image Here 五十嵐 勇人(いがらし ゆうと) 株式会社TOPGATE 開発部 エンジニアリング室 リーダー これまでの簡単な経歴 ● 自社サービスを提供するベンチャーで フロントエンドをメインでやってまし た。(全然今どきではないスタイル)。 バックエンドもやってました。 (CakePHP使ってました。) ● LPとかも作ってました。 ● 株式会社トップゲートではGoogle Cloudを活用したデータ分析基盤の開 発、設計、保守運用をやってます。 ● 進撃の巨人が好きです。 3 自己紹介

Slide 4

Slide 4 text

© TOPGATE, Inc. All Rights Reserved LTの概要 このLTの簡単な概要 4

Slide 5

Slide 5 text

© TOPGATE, Inc. All Rights Reserved 本LTについての説明です。 Google CloudのメインサービスのBigQueryについてのテーマとなります。 データ分析基盤を構築するにあたって関連Google Cloudサービスとの連携方法とデータを可視化 し分析する一連の流れとデータ活用について話します。 5 LTの概要

Slide 6

Slide 6 text

© TOPGATE, Inc. All Rights Reserved 本LTのターゲット層 本LTのターゲット層は以下を想定としています。 ● 学生 ● ジュニアエンジニア ● BigQueryを触りたいエンジニア ● Google Cloudを触りたいエンジニア ● データ分析したいマーケター ● ECサイト運用 or 運営している人 ● BigQuery が気になる人 ● Google Cloud に興味が1mmである人 Google Cloudに興味がないよ、BigQueryに興味がないよという方でも少しでも興味を持ってい ただければ幸いです。 6 LTの概要

Slide 7

Slide 7 text

© TOPGATE, Inc. All Rights Reserved レベル感 超初級です。 専門知識を必要としないLTとなっています。 7 LTの概要

Slide 8

Slide 8 text

© TOPGATE, Inc. All Rights Reserved Google CloudのBigQueryについて BigQueryの簡単な説明 8

Slide 9

Slide 9 text

© TOPGATE, Inc. All Rights Reserved BigQueryとは? ● 大量のリレーショナル構造化データ用のエンタープライズ データ ウェアハウス ● フルマネージドのクラウドデータ ウェアハウス ● 大規模なデータセットに対して分析クエリを実行できる ● テーブルデータとメタデータを保存するストレージ機能 ● BigQueryによる機械学習と予測モデリング ● BigQuery Omni によるマルチクラウドのデータ分析 ● 高速なデータ処理 ● 数TB(テラバイト)、数PB(ペタバイト)規模のデータを数十秒から数分でフルスキャ ンし、処理結果を高速にユーザーへ返却 9 Google CloudのBigQueryについて

Slide 10

Slide 10 text

© TOPGATE, Inc. All Rights Reserved すごくざっくり説明すると ● 大量のデータを格納することができる ● 分析用のクエリを実行することができる もっとざっくりすると、データ保存とクエリを実行できるリソースの側面がある 10 Google CloudのBigQueryについて

Slide 11

Slide 11 text

© TOPGATE, Inc. All Rights Reserved BigQueryがなかったら? ● ストレージ(データベース)とコンピュート機能を自身で用意する必要がある。 ● 例えば、これらのアプリケーションをVMとGCPなどのクラウド端末またはオンプレミス 端末に格納して、メンテナンスやチューニングを行う必要がある。 ● BigQueryで機械学習やスケジュール機能を利用している場合、別途の機械学習基盤を構 築したり、別途のバッチアプリケーションも作る必要がある。 ● これらの面倒な構築、メンテ、設定等をする必要もある。(メインの用途以外の作業が必 要) メンテとか運用とかってすごく時間もお金をかける必要があるが、Google Cloudのフルマネー ジドのBigQueryを使用すれば、それらのメインでやりたいこと以外から解放される。 11 Google CloudのBigQueryについて

Slide 12

Slide 12 text

© TOPGATE, Inc. All Rights Reserved BigQueryに関連するGoogle Cloudサービス BigQueryに関連するGoogle Cloudサービスの説明 12

Slide 13

Slide 13 text

© TOPGATE, Inc. All Rights Reserved 分析する規模が増える処理の依存関係の定義、データ収集を考慮した場合、BigQueryだけで完 結させることは難しい。 そこで、BigQueryに関連するGoogle Cloudサービスをデータ分析に焦点を当て説明する。 (ポピュラーなもの) 13 BigQueryに関連するGoogle Cloudサービス

Slide 14

Slide 14 text

© TOPGATE, Inc. All Rights Reserved ● 説明: ○ クラウド サービスの構築と接続に使用するサーバーレスのランタイム環境 ○ サーバーレスでアプリケーションを実行できる ○ サーバーレスなのでスケールアップやスケールダウンなどの管理・メンテナンスが 不要 ○ 実装した関数をCloud Functionsにのせる、実行のトリガーを決める Cloud Fucntions 14 BigQueryに関連するGoogle Cloudサービス

Slide 15

Slide 15 text

© TOPGATE, Inc. All Rights Reserved Cloud Fucntions 15 BigQueryに関連するGoogle Cloudサービス Cloud Functions BigQuery Cloud Storage ● BigQuery との連携例: ○ 外部 API を取得し BigQuery で分析するために蓄積したい場合、Cloud Fucntionsで 外部 API のレスポンスを取得し、GCS に格納後 BigQuery に連携しテーブルとして 保存する。 Internet 外部サービス

Slide 16

Slide 16 text

© TOPGATE, Inc. All Rights Reserved ● 説明: ○ フルマネージドのワークフロー オーケストレーション サービス ○ ワークフロー パイプラインの作成、スケジューリング、モニタリング、管理が可能 ○ Apache Airflow で構築されている ○ Pythonで記述する Cloud Composer 16 BigQueryに関連するGoogle Cloudサービス

Slide 17

Slide 17 text

© TOPGATE, Inc. All Rights Reserved ● BigQueryとの連携例: ○ 複数テーブルの依存関係を定義し加工する場合 Cloud Composer で管理できる ○ BigQuery のテーブルを外部サービスに連携することも可能 ○ スケジュール管理やリトライ処理も Cloud Composer で一括対応できる Cloud Composer 17 BigQueryに関連するGoogle Cloudサービス Cloud Composer Cloud Functions BigQuery Cloud Storage Dataprep Google Data Studio BigQuery ML

Slide 18

Slide 18 text

© TOPGATE, Inc. All Rights Reserved ● 説明: ○ 非同期メッセージングサービス ■ メッセージキューイングを行うマネージドサービス ○ Pub/Sub is キュー ○ メッセージの受け皿の役割、メッセージを別のサービスに連携する役割を持つ ○ 似たようなサービスに Apache Kafka がある Cloud Pub/Sub 18 BigQueryに関連するGoogle Cloudサービス

Slide 19

Slide 19 text

© TOPGATE, Inc. All Rights Reserved Cloud Pub/Sub ● BigQuery との連携例: ○ Cloud Pub/Sub に対して、API を定期的に実行し受けとった Cloud Pub/Sub が、 BigQuery に連携する。 ○ Dataflow と合わせてストリーミングでテーブルにインサートが可能。 19 BigQueryに関連するGoogle Cloudサービス BigQuery Internet 外部サービス Pub/Sub Dataflow ストリーミング ストリーミング 収集 処理 保管/分析

Slide 20

Slide 20 text

© TOPGATE, Inc. All Rights Reserved ● 説明: ○ データを処理するサービス(データ加工、変換) ○ 受けたデータに対して加工し、別のサービスに出力する ○ データ加工と、変換に特化したサービス ○ Apache Beam のフルマネージドサービス ○ リソースの自動スケーリングをしてくれる ○ ストリーミング処理と、バッチ処理の両方に対応する ● BigQuery との連携例: ○ Cloud Pub/Sub でデータを受け、Dataflow 内で、データのストリーミング処理を施し、BigQuery に保存できる ○ Dataflow 内でデータの加工が可能 ○ BigQuery 内のクエリでは加工が難しい場合、Dataflow のバッチ処理で加工することも可能 Dataflow 20 BigQueryに関連するGoogle Cloudサービス

Slide 21

Slide 21 text

© TOPGATE, Inc. All Rights Reserved ● 説明: ○ Google Cloud でファイルを保存するためのサービス ● BigQuery との連携例: ○ 外部から連携されたデータを一時的な保存場所として、Cloud Storage に格納し、 BigQuery に連携する Cloud Storage 21 BigQueryに関連するGoogle Cloudサービス

Slide 22

Slide 22 text

© TOPGATE, Inc. All Rights Reserved 活用事例 BigQueryを使った活用事例 22

Slide 23

Slide 23 text

© TOPGATE, Inc. All Rights Reserved 工場のデータをリアルタイムで分析 IoT デバイスから連携されるデータをリアルタイムで分析したいといった要件。 BigQuery のストリーミングインサートを使って、リアルタイムで連携を受けたデータを反映す る。 Confidential 23 活用事例

Slide 24

Slide 24 text

© TOPGATE, Inc. All Rights Reserved 工場のデータをリアルタイムで分析 連携フロー: Confidential 24 活用事例

Slide 25

Slide 25 text

© TOPGATE, Inc. All Rights Reserved 工場のデータをリアルタイムで分析 Cloud Pub/Sub でデータを受け、Dataflow 内で、データのストリーミング処理を施し、 BigQuery に格納できる状態に加工し、 BigQueryのテーブルにインサート処理を施す。 この時、IoTデバイスからCloud Pub/Sub、1秒に1回の頻度でデータが連携されるため バッチ処理では対応ができないため、ストリーミング処理が必要となった。 Confidential 25 活用事例

Slide 26

Slide 26 text

© TOPGATE, Inc. All Rights Reserved ECサイトの売上データを分析 ECサイトを運営する X社。 X社はアパレルのECサイトを運営しており元々店舗販売を行なっていたが、 ECサイトでの売上が年々上昇しており、会社として売上を確保する重要なポジションになって きた。 そこでECサイトの担当者は顧客のニーズに合った商品を提供したい、効果的な広告を打ちた い。 顧客属性が似ているユーザーに商品を宣伝したいと考えた。 そこで販売データや顧客データ、サイト閲覧データを参照しデータ分析を行いこれらの課題を 解決することにした。 26 活用事例

Slide 27

Slide 27 text

© TOPGATE, Inc. All Rights Reserved ECサイトの売上データを分析 連携フロー: Confidential 27 活用事例

Slide 28

Slide 28 text

© TOPGATE, Inc. All Rights Reserved ECサイトの売上データを分析 ● 販売情報や顧客情報サイト閲覧データをBigQueryに蓄積する。(データウェアハウスの役 割。) ● 蓄積したデータを加工する。(クエリを実行し、分析できる形にする。) ● Looker studioでデータをデータを可視化し、顧客の購入情報を分析する。 ● 分析した内容をもとに、おすすめメールを送信する。 ● ECサイトのユーザーページでおすすめ商品を出す。 Confidential 28 活用事例

Slide 29

Slide 29 text

© TOPGATE, Inc. All Rights Reserved ECサイトの売上データを分析 ● スケジュールクエリを利用すれば設定した日時に登録したクエリを実行し、自動でデー タ加工ができる。 ● クエリ実行結果はBigQuery内のテーブルに保存する。 ● 保存したテーブルをLooker studioで参照する。 Confidential 29 活用事例

Slide 30

Slide 30 text

© TOPGATE, Inc. All Rights Reserved 必要なスキル データエンジニアになって活躍するために必要なスキルを紹介 30

Slide 31

Slide 31 text

© TOPGATE, Inc. All Rights Reserved 必要なスキル ● SQL ● プログラミング言語 ○ Python ● Webの知識 ○ HTTPメソッド ○ Web ページについて ● 基本的なIT技術の知識 ● 開発現場の一般的な流れ ○ ウォーターフォール開発の開発手法 基本的に特別にデータエンジニアになるための必要なスキルというものはないです。 まずは基礎基本から技術を習得するべきだと思います。 (Web の技術はどこでも使える!) 31 必要なスキル

Slide 32

Slide 32 text

© TOPGATE, Inc. All Rights Reserved 以上、ご清聴ありがとうございました。 32