過去 2 か月間 Hive について学習してきましたが、特定のシーケンス ベースのクエリを実行する方法を理解するのに苦労しています。次の例を見てください。
- ユーザーアクションからなる巨大なログがあります
- すべてのユーザー アクションには日付フィールドがありますが、異なるマシンからの複数のログ ファイルが原因で、明らかにその順序でスキャンされない場合があります。
- 各ログは、さまざまな異なるイベントを記録できます。この例では、これらを文字で示します: A、B、C、D...
問題: 「平均して、B が発生する前にイベント A が発生する回数」を尋ねるクエリを作成するにはどうすればよいでしょうか?
ユーザーをグループ化して、A と B を実行したユーザーのみを取得し、発生した A の数を平均する方法は知っていますが、B の最初の発生で制限するのは難しいようです。見栄えの悪いクエリを 10 個ほど並べることで実際にこれを行うことができると思いますが、私が知らないより簡単な方法があるかどうかを知りたいと思っていました。
ありがとう!