ストリーミング分析とリアルタイム AI を使用した e コマース サンプル アプリケーション

e コマース サンプル アプリケーションには、ストリーミング データ分析とリアルタイム AI を実装するための一般的なユースケースとベスト プラクティスが示されています。リアルタイムでイベントを分析して対応し、お客様のアクションに動的に対応する方法を学習します。また、そのイベントデータを長期的な分析のために保存、分析、可視化する方法も学習します。

このアプリケーションは Java で実装されており、次のプロダクトを使用します。

  • BigQuery
  • Cloud Bigtable
  • Dataflow
  • Pub/Sub

サンプル アプリケーションは、GitHub の retail-java-applications からダウンロードできます。

目標

このアプリケーションは次の要件に対応するように設計されました。

  • 受信データを検証し、可能な部分に修正を加えます。
  • クリックストリーム データを分析し、一定期間での商品あたりの閲覧回数のカウントを保持します。この情報を低レイテンシ ストアに保存します。ここで、アプリケーションはこの情報を使用して、「商品を閲覧した人の数」のメッセージをウェブサイトでお客様に表示できます。
  • トランザクション データを使用して、インベントリの順位を知らせます。

    • トランザクション データを分析し、一定期間での各店舗と全店舗の両方における各商品の売上合計数を計算します。
    • インベントリ データを分析して、商品ごとの受信インベントリを計算します。
    • このデータを継続的にインベントリ システムに渡し、インベントリ購入の判断に使用できます。
  • 受信データを検証し、可能な部分に修正を加えます。さらなる分析と処理を行うために、修正不能なデータをデッドレター キューに書き込みます。モニタリングとアラートのため、デッドレター キューに送信された受信データの割合を示す指標を作成します。

  • 今後の分析と可視化で使用するために、すべての受信データを標準形式に処理し、データ ウェアハウスに保存します。

  • 店舗の売上のトランザクション データを非正規化し、店舗所在地の緯度と経度などの情報を含めることができます。店舗 ID をキーとして使用し、BigQuery での緩やかなテーブル変更を通じて店舗情報を提供します。

データ

このアプリケーションは次のタイプのデータを処理します。

  • Newkick のウェブ インターフェースで送信されるクリックストリーム データ。
  • オンプレミスまたは Software as a Service(SaaS)システムで送信されるトランザクション データ。
  • オンプレミス システムまたは SaaS システムで送信されるインベントリ データ。

タスクパターン

アプリケーションには、このタイプのアプリケーションの作成で一般的に必要となる Java プログラミング タスクの達成に最適な方法を示す多くのタスクパターンが含まれています。

このアプリケーションには、次のタスクパターンが含まれます。