I finally settled for:

dataset= dataset.where(to_date( dataset.col("Date"),"MM-dd-yyyy").geq(new
java.sql.Date(new
SimpleDateFormat("MM-dd-yyyy").parse("02-03-2012").getTime())));
which seems overly complicated, I was hoping for a simpler Spark solution.
Anyways thanks guys!

Le ven. 17 juin 2022 à 22:35, marc nicole <mk1853...@gmail.com> a écrit :

> String dateString = String.format("%d-%02d-%02d", 2012, 02, 03);
> Date sqlDate = java.sql.Date.valueOf(dateString);
> dataset=
> dataset.where(to_date(dataset.col("Date"),"MM-dd-yyyy").geq(sqlDate));
>
> Is the only way I found to make it work, I am sure there's better than
> this....
>
> Le ven. 17 juin 2022 à 22:13, marc nicole <mk1853...@gmail.com> a écrit :
>
>> @Stelios : to_date requires column type
>> @Sean how to parse a literal to a date lit("02-03-2012").cast("date")?
>>
>> Le ven. 17 juin 2022 à 22:07, Stelios Philippou <stevo...@gmail.com> a
>> écrit :
>>
>>> dataset.where(to_date(dataset.col("Date"),"MM-dd-yyyy").geq(to_date("02-03-2012",
>>> "MM-dd-yyyy"));
>>>
>>> On Fri, 17 Jun 2022, 22:51 marc nicole, <mk1853...@gmail.com> wrote:
>>>
>>>> dataset =
>>>> dataset.where(to_date(dataset.col("Date"),"MM-dd-yyyy").geq("02-03-2012").cast("date"));
>>>> ?
>>>> This is returning an empty dataset.
>>>>
>>>> Le ven. 17 juin 2022 à 21:34, Stelios Philippou <stevo...@gmail.com> a
>>>> écrit :
>>>>
>>>>> You are already doing it once.
>>>>> to_date the second part and don't forget to cast it as well
>>>>>
>>>>> On Fri, 17 Jun 2022, 22:08 marc nicole, <mk1853...@gmail.com> wrote:
>>>>>
>>>>>> should i cast to date the target date then? for example maybe:
>>>>>>
>>>>>> dataset =
>>>>>>> dataset.where(to_date(dataset.col("Date"),"MM-dd-yyyy").geq("02-03-2012").cast("date"));
>>>>>>> ?
>>>>>>
>>>>>> How to to do that ? comparing with dates?
>>>>>>
>>>>>>
>>>>>> Le ven. 17 juin 2022 à 20:52, Sean Owen <sro...@gmail.com> a écrit :
>>>>>>
>>>>>>> Look at your query again. You are comparing dates to strings. The
>>>>>>> dates widen back to strings.
>>>>>>>
>>>>>>> On Fri, Jun 17, 2022, 1:39 PM marc nicole <mk1853...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> I also tried:
>>>>>>>>
>>>>>>>> dataset =
>>>>>>>>> dataset.where(to_date(dataset.col("Date"),"MM-dd-yyyy").geq("02-03-2012"));
>>>>>>>>
>>>>>>>>
>>>>>>>> But it returned an empty dataset.
>>>>>>>>
>>>>>>>> Le ven. 17 juin 2022 à 20:28, Sean Owen <sro...@gmail.com> a
>>>>>>>> écrit :
>>>>>>>>
>>>>>>>>> Same answer as last time - those are strings, not dates.
>>>>>>>>> 02-02-2015 as a string is before 02-03-2012.
>>>>>>>>> You apply date function to dates, not strings.
>>>>>>>>> You have to parse the dates properly, which was the problem in
>>>>>>>>> your last email.
>>>>>>>>>
>>>>>>>>> On Fri, Jun 17, 2022 at 12:58 PM marc nicole <mk1853...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> I have a dataset containing a column of dates, which I want to
>>>>>>>>>> use for filtering. Nothing, from what I have tried, seems to return 
>>>>>>>>>> the
>>>>>>>>>> exact right solution.
>>>>>>>>>> Here's my input:
>>>>>>>>>>
>>>>>>>>>> +------------   +
>>>>>>>>>> |    Date        |
>>>>>>>>>> +------------    +
>>>>>>>>>> | 02-08-2019 |
>>>>>>>>>> +------------    +
>>>>>>>>>> | 02-07-2019 |
>>>>>>>>>> +----------------+
>>>>>>>>>> | 12-01-2019 |
>>>>>>>>>> +----------------+
>>>>>>>>>> | 02-02-2015 |
>>>>>>>>>> +----------------+
>>>>>>>>>> | 02-03-2012 |
>>>>>>>>>> +----------------+
>>>>>>>>>> | 05-06-2018 |
>>>>>>>>>> +----------------+
>>>>>>>>>> | 02-08-2022 |
>>>>>>>>>> +----------------+
>>>>>>>>>>
>>>>>>>>>> The code that i have tried (always giving missing dates in the
>>>>>>>>>> result):
>>>>>>>>>>
>>>>>>>>>> dataset = dataset.filter(
>>>>>>>>>>> dataset.col("Date").geq("02-03-2012"));  // not showing the date of
>>>>>>>>>>> *02-02-2015*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I tried to apply *date_trunc()* with the first parameter "day"
>>>>>>>>>> but nothing.
>>>>>>>>>>
>>>>>>>>>> I have also compared a converted column (using *to_date()*) with
>>>>>>>>>> a *literal *of the target date but always returning an empty
>>>>>>>>>> dataset.
>>>>>>>>>>
>>>>>>>>>> How to do that in Java ?
>>>>>>>>>>
>>>>>>>>>>

Reply via email to