извлечь номер недели из фрейма данных - PullRequest
0 голосов
/ 02 мая 2018

У меня есть столбец даты, который является строкой в ​​кадре данных в формате отметки времени 2017-01-01 12:15:43.

Теперь я хочу получить номер дня недели (от 1 до 7) из этого столбца, используя фрейм данных, а не спарк, sql.

Как показано ниже

df.select(weekday(col("colname")))

Я нашел один в Python и SQL, но не в Scala. может ли любое тело помочь мне в этом

в sqlcontext

sqlContext.sql("select date_format(to_date('2017-01-01'),'W') as week")

1 Ответ

0 голосов
/ 02 мая 2018

Так же работает в Scala:

scala> spark.version
res1: String = 2.3.0

scala> spark.sql("select date_format(to_date('2017-01-01'),'W') as week").show
// +----+
// |week|
// +----+
// |   1|
// +----+

или

scala> import org.apache.spark.sql.functions._
import org.apache.spark.sql.functions._

scala> val df = Seq("2017-01-01").toDF("date")
df: org.apache.spark.sql.DataFrame = [date: string]

scala> df.select(date_format(to_date(col("date")), "W")).show
+-------------------------------+
|date_format(to_date(`date`), W)|
+-------------------------------+
|                              1|
+-------------------------------+
...