私は以下のように顧客のSpark DataFrameを持っています。顧客が「新しい」のvalue
を取得custID
ための最初の月の観測でSparkで元に戻す値の特定
#SparkR code
customers <- data.frame(custID = c("001", "001", "001", "002", "002", "002", "002"),
date = c("2017-02-01", "2017-03-01", "2017-04-01", "2017-01-01", "2017-02-01", "2017-03-01", "2017-04-01"),
value = c('new', 'good', 'good', 'new', 'good', 'new', 'bad'))
customers <- createDataFrame(customers)
display(customers)
custID| date | value
--------------------------
001 | 2017-02-01| new
001 | 2017-03-01| good
001 | 2017-04-01| good
002 | 2017-01-01| new
002 | 2017-02-01| good
002 | 2017-03-01| new
002 | 2017-04-01| bad
。その後、それらは「良い」または「悪い」として分類される。しかし、顧客が第2の口座を開設した場合、「良い」または「悪い」から「新規」に戻すことは可能です。これが起こったとき、私は、顧客が次のように2番目の口座を開設したことを示すために、 '1'ではなく '2'でタグ付けします。スパークでどうすればいいですか? SparkRまたはPySparkコマンドが機能します。 pysparkで
#What I want to get
custID| date | value | tag
--------------------------------
001 | 2017-02-01| new | 1
001 | 2017-03-01| good | 1
001 | 2017-04-01| good | 1
002 | 2017-01-01| new | 1
002 | 2017-02-01| good | 1
002 | 2017-03-01| new | 2
002 | 2017-04-01| bad | 2
を持つすべてのレコードをフィルタリングおかげで、私はRまたはパンダでこれを行うことができますが、私は持っていますSparkが必要な非常に大きなデータフレーム。 –