私はいくつかの色を持つデータセットを持ち、関連する日付を数えます。スパークに関連する値を持つ最大数
+-----------+----------+-----+
| color| Date|count|
+-----------+----------+-----+
| red|2014-05-26| 5|
| red|2014-05-02| 1|
| red|2015-04-02| 1|
| red|2015-04-26| 1|
| red|2015-09-26| 2|
| blue|2014-05-26| 3|
| blue|2014-06-02| 1|
| brown|2014-07-31| 2|
| green|2014-08-01| 2|
+-----------+----------+-----+
関連する日付のある各色の最大カウントが必要です。私はJava 8でSpark 2.0.2を使用しています。
max関数を使用して日付カラムを削除したときに、groupBy
に日付を入力すると、入力データセットと同じテーブルが表示されます。
df.groupBy(color).max("count").show();
+-----------+----------+
|color |max(count)|
+-----------+----------+
| red| 5|
| blue| 3|
| brown| 2|
| green| 2|
+-----------+----------+
予想される出力:ここ
+-----------+----------+----------+
|color | date|max(count)|
+-----------+----------+----------+
| red|2014-05-26| 5|
| blue|2014-05-26| 3|
| brown|2014-07-31| 2|
| green|2014-08-01| 2|
+-----------+----------+----------+
私はscalaではなくjavaで解決策が必要です。 –
@ dataScienctistこれは単なる方法です。私たちはここにあなたのコードを書くのではありません。答えを参考にして、それをあなた自身で解決しようとしています。また、Spark SQL APIは、JavaとScalaの両方で非常によく似ています。試してみると分かります。 – philantrovert