Учитывая то, как вы объяснили свою проблему: Я попытался создать новый столбец месяца с помощью withColumn (), чтобы позже я мог использовать group_by month и count ().Но я не могу получить месяц из отметки времени.
Вы можете использовать статическую функцию month () , предоставленную в пакете org.apache.spark.sql.functions, чтобы найтимесяц, как показано ниже:
myDataset.withColumn("month", month(col("date"))).groupBy(col("month")).count().show();
, где col («дата») будет иметь метку времени (в нижнем случае: «гггг-мм-дд ЧЧ: мм: сс»).
Используемый вход:
1,2019-04-07 07: 24: 14,0,8
2,2019-05-07 07:24:14,0,10
5,2019-06-07 07: 24: 14,0,6
3,2019-04-07 07: 24: 14,0,7
Это даст вам вывод, как показано ниже:
+ ----- + ----- +
| month | count |
+ ----- + ----- +
|6 |1 |
|5 |1 |
|4 |2 |
+ ----- + ----- +
Надеюсь, это поможет !!