2017-04-04 6 views
1

私はそのようなテーブルがあります、この表の時間に基づいて累積値を得る方法は、pyspark SQLを使用しますか?

enter image description here

、特定の歌手の略artist_idDsは(2015月1日から4月の終わりまで)の日付であるとlikeはどのように多くの人々でありますこの特定の日にこの歌手の曲が好きだった。 累積値likeを取得したいとします。たとえば、20150303日に20150301と20150302、20150303の元の値が加算されます。 どうすればできますか?

答えて

1

sparkが提供する集約関数を使用して出力を得ることができます。

あなたの質問は時間に基づいて、と言いますが、スキーマごとに、日付のその実際の列は、それゆえ、あなたはDsに集約し、

df.groupBy("Ds").sum("like") 

Updateに似たlikeの合計を取得: を合計を取得するには提供日の以前のすべての日の、Reduceは、この結果をフェッチするために提供した日付と以前の日付のfilterを適用し、次いでreduceまたは集約関数sum

以上を使用して、すべてを合計した後に使用することができます詳細はhere

+0

groupBy'Ds 'となり、合計は1日のデータの合計しか得られませんが、1日前と今日の前日のデータを合計します。 –

+0

が答えを更新しました。 – vinay

+0

申し訳ありませんが、あなたの更新された回答が表示されません.... –

関連する問題