0
私はScalaでウィンドウ関数を使いたいと思います。ウィンドウ関数/ scala/spark 1.6
私は、次のいずれかのCSVファイルを持っている:私は、このデータフレームの上に窓関数を適用しようとすると
id;date;value1
1;63111600000;100
1;63111700000;200
1;63154800000;300
を、 時にはそれが動作し、時にはそれが失敗します。
val df = loadCSVFile()
val tw = Window.orderBy(date).partitionBy(id).rangeBetween(-5356800000,0)
df.withColumn(value1___min_2_month, min(df.col("value1")).over(tw))
+---+-----------+--------------------+
| id| date|value1___min_2_month|
+---+-----------+--------------------+
| 1|63111600000| 100|
| 1|63111700000| 100|
| 1|63154800000| 100|
+---+-----------+--------------------+
を
だからそれは動作します!しかし、私は(以前exempleの行を含む)より大きな数をしようとすると、私は次のような結果に
val tw =
Window.orderBy(date).partitionBy(id).rangeBetween(-8035200000,0) \n
df.withColumn(value1___min_3_month, min(df.col("value1")).over(tw))
+---+-----------+--------------------+
| id| date|value1___min_3_month|
+---+-----------+--------------------+
| 1|63111600000| null|
| 1|63111700000| null|
| 1|63154800000| null|
+---+-----------+--------------------+
私の問題は、この数は実際にあるということです変数(ロングタイプ)と変数で動作しません –
その後、変数を渡すだけです。 – pedrofurla
それは正確ではありません、前に私の編集を参照してください:) –