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

現役データエンジニアが教える!BigQueryを中心としたデータ分析とその活用方法

 現役データエンジニアが教える!BigQueryを中心としたデータ分析とその活用方法

2023年3月16日開催
「Cloud Native DataEngineer Community」第3回イベント
第3部 株式会社トップゲート 開発部 エンジニアリング室 リーダー 五十嵐 勇人
--------------------------------------------

【イベント概要】

昨今、データを利活用した結果を基に意思決定を実施し成果を出している企業が増加しています。一方、その成果を支えるデータ利活用の基盤を構築・運用するスキルを持ったプロフェッショナルであるデータエンジニアが不足しているのも事実です。

本イベントでは、第一線で活躍するデータエンジニアを招き、データエンジニアの魅力やその実態をお伝えいたします。

--------------------------------------------

【第3部紹介】
『現役データエンジニアが教える!BigQueryを中心としたデータ分析とその活用方法』

GoogleCloudを使ったデータ活用をする場合真っ先に候補に上がるのがBigQuery。このBigQueryを中心としたデータ分析基盤を構築するにあたり関連Google Cloudサービスとの連携方法とデータを可視化し分析する一連の流れとデータ活用について話します。

<登壇者>
株式会社トップゲート
開発部 エンジニアリング室
リーダー
五十嵐 勇人

・略歴
静岡県出身。自社サービスを提供するベンチャーに就職し、フロントエンドとして設計、開発に従事。クラウド技術に興味がありGoogle Cloudのパートナー企業であるトップゲート入社。入社から現在までGoogle Cloudを活用したデータ分析基盤の開発、設計、保守運用に従事。

--------------------------------------------

【Cloud Native DataEngineer Communityについて】

本コミュニティは、IT エンジニアや学生に対し、データエンジニアの仕事の理解や魅力の浸透、専門職としての地位向上を図ると共に、新卒採用・中途採用への啓蒙活動とデータエンジニアに必要なスキルを習得できる機会を提供し、DX推進に不可欠なデータエンジニアおよびその潜在者の増加に貢献していきます。

■「Cloud Native DataEngineer Community」発足の背景
昨今、データを根拠に予測や意思決定を行うことが、多くの企業にビジネス成果をもたらしています。
DX の目的の一つである新しいビジネスの創出や、デジタルを活用した新たな顧客体験の実現には、データに対する探索的アプローチが有効であると考えられますが、それらを高いアジリティを持って推進するためには、データエンジニアリングが必要不可欠です。
一方、データ利活用の基盤を構築・運用する技能を持ったプロフェッショナルであるデータエンジニアはデータ活用をする上で欠かせない存在ですが、IT 人材の不足が社会全体で課題となる中でも特に不足している専門職の一つです。

■「Cloud Native DataEngineer Community」今後の活動内容
定期的にITエンジニアや学生向けのイベントを開催し、データエンジニアの仕事や魅力をお伝えします。

■「Cloud Native DataEngineer Community」を発足の5社
・クラウドエース株式会社(https://cloud-ace.jp/
・クラスメソッド株式会社(https://classmethod.jp/
・株式会社ジール(https://www.zdh.co.jp/
・株式会社ナレッジコミュニケーション(https://www.knowledgecommunication.jp/
・株式会社メソドロジック(https://www.methodologic.co.jp/
・株式会社トップゲート(https://www.topgate.co.jp/

More Decks by 株式会社ジール マーケティング部

Other Decks in Business

Transcript

  1. © TOPGATE, Inc. All Rights Reserved アジェンダ 1. 自己紹介 2.

    LTの概要 3. Google CloudのBigQueryについて 4. BigQueryに関連するGoogle Cloudサービス 5. 活用事例 6. 必要なスキル 2
  2. © TOPGATE, Inc. All Rights Reserved Place Image Here 五十嵐

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

    Cloudサービスとの連携方法とデータを可視化 し分析する一連の流れとデータ活用について話します。 5 LTの概要
  4. © TOPGATE, Inc. All Rights Reserved 本LTのターゲット層 本LTのターゲット層は以下を想定としています。 • 学生

    • ジュニアエンジニア • BigQueryを触りたいエンジニア • Google Cloudを触りたいエンジニア • データ分析したいマーケター • ECサイト運用 or 運営している人 • BigQuery が気になる人 • Google Cloud に興味が1mmである人 Google Cloudに興味がないよ、BigQueryに興味がないよという方でも少しでも興味を持ってい ただければ幸いです。 6 LTの概要
  5. © TOPGATE, Inc. All Rights Reserved BigQueryとは? • 大量のリレーショナル構造化データ用のエンタープライズ データ

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

    分析用のクエリを実行することができる もっとざっくりすると、データ保存とクエリを実行できるリソースの側面がある 10 Google CloudのBigQueryについて
  7. © TOPGATE, Inc. All Rights Reserved BigQueryがなかったら? • ストレージ(データベース)とコンピュート機能を自身で用意する必要がある。 •

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

    サービスの構築と接続に使用するサーバーレスのランタイム環境 ◦ サーバーレスでアプリケーションを実行できる ◦ サーバーレスなのでスケールアップやスケールダウンなどの管理・メンテナンスが 不要 ◦ 実装した関数をCloud Functionsにのせる、実行のトリガーを決める Cloud Fucntions 14 BigQueryに関連するGoogle Cloudサービス
  9. © 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 外部サービス
  10. © TOPGATE, Inc. All Rights Reserved • 説明: ◦ フルマネージドのワークフロー

    オーケストレーション サービス ◦ ワークフロー パイプラインの作成、スケジューリング、モニタリング、管理が可能 ◦ Apache Airflow で構築されている ◦ Pythonで記述する Cloud Composer 16 BigQueryに関連するGoogle Cloudサービス
  11. © 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
  12. © TOPGATE, Inc. All Rights Reserved • 説明: ◦ 非同期メッセージングサービス

    ▪ メッセージキューイングを行うマネージドサービス ◦ Pub/Sub is キュー ◦ メッセージの受け皿の役割、メッセージを別のサービスに連携する役割を持つ ◦ 似たようなサービスに Apache Kafka がある Cloud Pub/Sub 18 BigQueryに関連するGoogle Cloudサービス
  13. © 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 ストリーミング ストリーミング 収集 処理 保管/分析
  14. © TOPGATE, Inc. All Rights Reserved • 説明: ◦ データを処理するサービス(データ加工、変換)

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

    Cloud でファイルを保存するためのサービス • BigQuery との連携例: ◦ 外部から連携されたデータを一時的な保存場所として、Cloud Storage に格納し、 BigQuery に連携する Cloud Storage 21 BigQueryに関連するGoogle Cloudサービス
  16. © TOPGATE, Inc. All Rights Reserved 工場のデータをリアルタイムで分析 IoT デバイスから連携されるデータをリアルタイムで分析したいといった要件。 BigQuery

    のストリーミングインサートを使って、リアルタイムで連携を受けたデータを反映す る。 Confidential 23 活用事例
  17. © TOPGATE, Inc. All Rights Reserved 工場のデータをリアルタイムで分析 Cloud Pub/Sub でデータを受け、Dataflow

    内で、データのストリーミング処理を施し、 BigQuery に格納できる状態に加工し、 BigQueryのテーブルにインサート処理を施す。 この時、IoTデバイスからCloud Pub/Sub、1秒に1回の頻度でデータが連携されるため バッチ処理では対応ができないため、ストリーミング処理が必要となった。 Confidential 25 活用事例
  18. © TOPGATE, Inc. All Rights Reserved ECサイトの売上データを分析 ECサイトを運営する X社。 X社はアパレルのECサイトを運営しており元々店舗販売を行なっていたが、

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

    • 蓄積したデータを加工する。(クエリを実行し、分析できる形にする。) • Looker studioでデータをデータを可視化し、顧客の購入情報を分析する。 • 分析した内容をもとに、おすすめメールを送信する。 • ECサイトのユーザーページでおすすめ商品を出す。 Confidential 28 活用事例
  20. © TOPGATE, Inc. All Rights Reserved ECサイトの売上データを分析 • スケジュールクエリを利用すれば設定した日時に登録したクエリを実行し、自動でデー タ加工ができる。

    • クエリ実行結果はBigQuery内のテーブルに保存する。 • 保存したテーブルをLooker studioで参照する。 Confidential 29 活用事例
  21. © TOPGATE, Inc. All Rights Reserved 必要なスキル • SQL •

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