Фильтр DataFrame по дате - PullRequest
       4

Фильтр DataFrame по дате

1 голос
/ 04 октября 2019

У меня есть Scala DataFrame (df) со столбцом типа date

dt:date
column1:string

Я пытаюсь отфильтровать его, чтобы получить только записи с dt, большим или равным дате, которая появляется вФормат строки.

Кажется, что приведенный ниже код работает, но это "правильный" способ сделать это или строка должна быть явно преобразована в Date?

df.where($"dt" >= "2011-01-01")

Ответы [ 2 ]

3 голосов
/ 04 октября 2019

Было бы хорошо преобразовать вашу строку в формат данных столбца dataframe.

Таким образом, когда пользователь отправляет неправильный ввод, он будет проверен заранее. Вместо сбоя в этой операции.

0 голосов
/ 07 октября 2019

@ Achyuth справедливо предложил всегда преобразовывать в столбец даты в кадре данных.

df.where($"dt" >= "2011-01-01")

Предоставляет следующий план запроса

+- *(1) Filter (isnotnull(dt#) && (cast(dt#as string) >= 2011-01-01))

Принимая во внимание, что

.where($"dt" >= lit(my_date_string).cast("timestamp"))

Имеет

 Filter (isnotnull(dt#) && (cast(dt#as timestamp) >= 1514764800000000))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...