Выбрать дату выходного дня из столбца даты, используя искру - PullRequest
1 голос
/ 30 января 2020

Мне нужно получить выходной день (субботу) из столбца даты, используя spark SQL.

Например,

Если я предоставлю дату "2020-01-10" он должен вернуть «2020-01-11». Если я предоставлю дату «2020-01-01», он должен вернуть «2020-01-04»

Ответы [ 2 ]

1 голос
/ 30 января 2020

В Spark 2.3.0 вы можете использовать date_trunc, чтобы получить дату начала недели, а затем добавить количество дней, чтобы добраться до нужного дня недели.

spark.sql("select '2020-01-10' given, date_trunc('WEEK', '2020-01-10') week_start , date_add(date_trunc('WEEK', '2020-01-10'),5) saturday_date").show()
+----------+-------------------+-------------+
|     given|         week_start|saturday_date|
+----------+-------------------+-------------+
|2020-01-10|2020-01-06 00:00:00|   2020-01-11|
+----------+-------------------+-------------+
0 голосов
/ 06 февраля 2020

Я использую приведение (date_add (date_Column, 6 - приведение (date_format (date_Column, 'u') в качестве BIGINT)) в качестве даты) Sunday_day

...