模擬問題集 › GCP-PDE › 練習問題 1

GCP-PDE 練習問題 1|データの取り込みと処理

Professional Data Engineer・無料公開(全 200 問中 15 問を無料公開中)

問題
あなたは Dataflow を使用して、Pub/Sub から取得したユーザーのウェブサイト クリック アクティビティを分析するストリーミング データ パイプラインを構築しています。ユーザーのサイト訪問ごとのクリック数を計算する必要があります。サイト訪問は、特定のユーザーについて、一定期間のアクティビティとそれに続く 30 分間の非アクティブ期間として定義されます。どうすればよいですか?

選択肢と解説

  • 1
    30 分のウィンドウでタンブリング ウィンドウを使用する。
  • 2
    30 分のウィンドウと 1 分の期間でホッピング ウィンドウを使用する。
  • 3
    30 分のウィンドウと 30 分の期間でホッピング ウィンドウを使用する。
  • ✓
    30 分のギャップ期間でセッション ウィンドウを使用する。

解説

【正解】D

【0からの解説】
①前提知識:ストリーミング データは終わりがないため、集計(件数のカウントなど)をするには、データを時間で区切る「ウィンドウ」を定義します。Dataflow(Apache Beam)の代表的なウィンドウは次の 3 種類です。
・タンブリング ウィンドウ(Beam では固定ウィンドウ):例えば 30 分ごとに、重ならない固定の区間でデータを区切る。
・ホッピング ウィンドウ(Beam ではスライディング ウィンドウ):ウィンドウの長さ(例: 30 分)と開始間隔=期間(例: 1 分)を指定し、重なり合うウィンドウを一定間隔で作る。移動平均などに使う。
・セッション ウィンドウ:キー(ここではユーザー)ごとに、データの到着が途切れた時間(ギャップ期間)が指定値を超えたところでウィンドウを閉じる。ウィンドウの長さは活動の続き方によって動的に変わる。
②要件の整理:「サイト訪問」は「特定のユーザーについて、活動が続いた後に 30 分間活動がなければ終わる」と定義されています。つまり区切りは固定の時刻ではなく、ユーザーごとの「非アクティブな時間」で決まります。
③正解の理由:セッション ウィンドウをギャップ期間 30 分で設定し、ユーザー ID をキーとしてクリックを集計すれば、ユーザーごとに「30 分以上の空白で区切られた一連の活動」が 1 つのウィンドウになり、訪問ごとのクリック数をそのまま数えられます。訪問の定義そのものをウィンドウで表現できるのはセッション ウィンドウだけです。

【誤りの選択肢】
A:タンブリング ウィンドウは時計上の固定の区間(例: 10:00〜10:30)で区切るため、1 回の訪問が区間の境界をまたぐと 2 つに分割され、逆に 30 分以上空いた別々の訪問が同じ区間にまとめられることもあります。非アクティブ時間による区切りを表現できません。
B:長さ 30 分・期間 1 分のホッピング ウィンドウは 1 分ごとに重なり合うウィンドウを作るため、同じクリックが最大 30 個のウィンドウで重複して数えられます。移動集計には向きますが、訪問単位のクリック数にはなりません。
C:長さ 30 分・期間 30 分のホッピング ウィンドウは、重なりがないので実質的にタンブリング ウィンドウと同じです。A と同様に固定の区間で区切るだけで、ユーザーごとの非アクティブ時間に基づく訪問の区切りにはなりません。

【参考】
ストリーミング パイプライン | Cloud Dataflow
Apache Beam のプログラミング モデル | Cloud Dataflow
練習問題 2 →
GCP-PDE の模擬問題集は全 200 問

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

GCP-PDE の模試を受ける料金プランを見る

GCP-PDE の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15