は、変換の次のタイプを行うための推奨方法はあります:
入力:ユーザーセッションの開始時刻と終了時刻を計算する方法は?
userID timestamp action
u1 100 edit1
u1 122 edit2
u1 135 edit3
u2 143 edit4
u2 158 edit5
u1 212 edit6
u1 241 edit7
出力:失われたセッション情報でユーザーIDの結果によってグループ化
userID startTime endTime actions
u1 100 135 [edit1, edit2, edit3]
u2 143 158 [edit4, edit5]
u1 212 241 [edit6, edit7]
。 Window関数を使用する場合と同じです。
明快に編集: この場合、ユーザーu1は結果セットに2回表示されます。ユーザーu2のアクションは、u1のアクションを2つのセッションに分割します。
おかげ@jaceklaskowski。もう一つの質問が助けになりました。 –
もう1つ同様の質問が返されました: https://stackoverflow.com/questions/44020343/spark-dataframe-access-of-previous-calculated-row –