Jak uzyskać current_date - 1
dzień w sparksql, tak samo jak cur_date()-1
w mysql.Jak zdobyć dzisiaj - "1 dzień" w sparksql?
Odpowiedz
Funkcje arytmetyczne umożliwiają wykonywanie operacji arytmetycznych na kolumnach zawierających daty.
Na przykład można obliczyć różnicę między dwiema datami, dodać dni do daty lub odjąć dni od daty. Wbudowany data funkcje arytmetyczne obejmują datediff
, date_add
, date_sub
, add_months
, last_day
, next_day
i months_between
.
Spośród ponad to, czego potrzebujemy jest
date_sub (StartDate datownik, int dni), Przeznaczenie: Odejmuje określoną liczbę dni od wartości datownik. Pierwszym argumentem może być ciąg znaków, który jest automatycznie rzutowany na TIMESTAMP, jeśli używa on rozpoznanego formatu, jako opisany w TIMESTAMP Data Type. Zwraca typ: datownik
i mamy
CURRENT_TIMESTAMP() Przeznaczenie: alias dla funkcji Now(). Powrót typ: datownik
można nie wybrać
date_sub(CAST(current_timestamp() as DATE), 1)
Zobacz https://spark.apache.org/docs/1.6.2/api/java/org/apache/spark/sql/functions.html
można łatwo wykonać to zadanie, istnieje wiele metod związanych z datą i co można użyć tutaj jest date_sub
przykład na przeskoku iskry REPL:
scala> spark.sql("select date_sub(current_timestamp(), 1)").show
+----------------------------------------------+
|date_sub(CAST(current_timestamp() AS DATE), 1)|
+----------------------------------------------+
| 2016-12-12|
+----------------------------------------------+
Można spróbować
date_add(current_date(), -1)
nie wiem iskrę albo ale znalazłem na google. Możesz również użyć tego link dla odniesienia