Nasıl sparksql içinde current_date - 1
günü olsun, mysql içinde cur_date()-1
ile aynı.Bugün nasıl edinilir - sparksql'da "1 gün" tarihi?
cevap
Aritmetik işlevler, tarihleri içeren sütunlarda aritmetik işlem gerçekleştirmenize izin verir. Örneğin, iki tarih arasındaki farkı hesaplayabilir, bir tarihe gün ekleyebilir veya bir tarihten sonraki günleri kaldırabilirsiniz. yerleşik tarih aritmetik fonksiyonlar date_sub
datediff
, date_add
, add_months
, last_day
, next_day
ve months_between
sayılabilir. Bir TIMESTAMP değerinden gün belirli bir sayıdan çıkarır: ihtiyacımız olan şey yukarıda Out
date_sub (zaman damgası startdate, int gün), Amaç olduğunu. İlk argüman 'un, TIMESTAMP Veri Türü'nde tanımlanan olarak tanımlı formatı kullanması durumunda otomatik olarak TIMESTAMP'e dökülen bir dize olabilir. Dönüş türü: zaman damgası
ve biz
current_timestamp() Amaç vardır: Takma Adı şimdi() fonksiyonu için. türünü Dönüş: Eğer
date_sub(CAST(current_timestamp() as DATE), 1)
Bkz seçerim yapabilirsiniz
damgası https://spark.apache.org/docs/1.6.2/api/java/org/apache/spark/sql/functions.html
Kolayca orada tarihe ait birçok yöntem vardır ve burada ne kullanabileceği başka, bu görevi gerçekleştirebilir Kıvılcım Çoğaltma ile date_sub
Örnek:
scala> spark.sql("select date_sub(current_timestamp(), 1)").show
+----------------------------------------------+
|date_sub(CAST(current_timestamp() AS DATE), 1)|
+----------------------------------------------+
| 2016-12-12|
+----------------------------------------------+
Sen bilmiyorum kıvılcım
date_add(current_date(), -1)
deneyebilirsiniz ya ama google buldum. Ayrıca bu link numaralı telefonu referans için de kullanabilirsiniz