Spark Dataframeで移動するパーセンタイルをきれいに計算する方法はありますか?Spark Dataframeでのパーセンタイルの移動
私は巨大なデータフレームを持っています。私は15分ごとにそれを集計しています。私はパーセンテイルを各部分で計算したいと思います。
df.groupBy(window(col("date").cast("timestamp"), "15 minutes"))
.agg(sum("session"),mean("session"),percentile_approx("session", 0.5))
.show()
エラー:見つかりません:値percentile_approx
は、だから私は、合計、平均などの基本的な事柄を計算する必要があるが、私は、中央値およびいくつかの他のパーセンタイルを計算する必要があります。
Spark 2.1で効率的な方法がありますか?
ここでは、何の、中央値percentile_approx、それはそうAPIで実装Percentile_approx機能はありませんので。
私はこの質問を既に聞いてきましたが、答えがすべてユニークな解決策に同意しているとは限りませんでした。そして私にとってはあまりにもぼんやりしていました...だから、2017年8月に良いと効率的な解決策があるかどうかを知りたかったのです。
15分のウィンドウを通過するとき、ちょうど近似ではなくハードコンピューティングでは動作しないのだろうか?あなたの注意のための
どうもありがとう、
は良い午後を持っています!
PS:ScalaまたはPySpark私は気にしません、両方ともさらに大きくなるでしょう!
サンプルコードで 'window'とは何ですか?ウィンドウ機能(したがってスライディングウィンドウ)または重複しないウィンドウ(groupBy)が必要ですか? –
あなたの答えをお寄せいただきありがとうございました。履歴データがあり、1分ごとに集計したい1分ごとに何百ものレコードがあり、スライディングウィンドウごとに(毎分ごとに)中央値などを計算する必要があります。だから私は効率的に行うには何がきれいな方法であるのだろうと思っていました – tricky
ウィンドウは実際には「スライディング」していません。スライディングウィンドウの場合、ウィンドウ関数が必要になるからです。AFAIKスライドはあなたの場合を意味します:すべてのレコードについて、「周囲」のデータを15分とし、集計を計算します –