КОНВЕРСИЯ ДАТЫ SCALA - PullRequest
       4

КОНВЕРСИЯ ДАТЫ SCALA

1 голос
/ 11 февраля 2020

Я просто хочу спросить, возможно ли преобразовать строку в дату без изменения ее формата?

 .withColumn("birthdate",when(col("birthday").isNotNull,to_date(col("birthday"),"MM/dd/YYYY")).otherwise(null))

У меня есть строка "01/01/1990", но когда я использую to_date (col ( «день рождения»), «ММ / ДД / ГГГГ»), становится 1990-01-01

Есть ли способ преобразовать строку в дату без изменения ее исходного формата или только формат для типов данных даты?

Спасибо заранее!

1 Ответ

1 голос
/ 11 февраля 2020

По умолчанию спарк использует формат yyyy-MM-dd для типа даты.

, если вы хотите, чтобы формат MM/dd/YYYY был date type, тогда это невозможно с искрой (нулевое значение результатов).

Example:

Converting MM/dd/YYYY to date type:

scala> spark.sql("select date('01/01/1990') as dt").show()
//+----+
//|  dt|
//+----+
//|null| //result null
//+----+


scala> spark.sql("select date('01/01/1990') as dt").printSchema
//root
 //|-- dt: date (nullable = true)

Converting YYYY-MM-dd to date type:

scala> spark.sql("select date('1990-01-01') as dt").show(false)
//+----------+
//|dt        |
//+----------+
//|1990-01-01| //results data
//+----------+


scala> spark.sql("select date('1990-01-01') as dt").printSchema
//root
// |-- dt: date (nullable = true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...