Then let me provide a PR so that we can discuss an alternative way

2017-06-02 8:26 GMT+02:00 Reynold Xin <r...@databricks.com>:

> Seems like a bug we should fix? I agree some form of truncation makes more
> sense.
>
>
> On Thu, Jun 1, 2017 at 1:17 AM, Anton Okolnychyi <
> anton.okolnyc...@gmail.com> wrote:
>
>> Hi all,
>>
>> I would like to ask what the community thinks regarding the way how Spark
>> handles nanoseconds in the Timestamp type.
>>
>> As far as I see in the code, Spark assumes microseconds precision.
>> Therefore, I expect to have a truncated to microseconds timestamp or an
>> exception if I specify a timestamp with nanoseconds. However, the current
>> implementation just silently sets nanoseconds as microseconds in [1], which
>> results in a wrong timestamp. Consider the example below:
>>
>> spark.sql("SELECT cast('2015-01-02 00:00:00.000000001' as
>> TIMESTAMP)").show(false)
>> +------------------------------------------------+
>> |CAST(2015-01-02 00:00:00.000000001 AS TIMESTAMP)|
>> +------------------------------------------------+
>> |2015-01-02 00:00:00.000001                      |
>> +------------------------------------------------+
>>
>> This issue was already raised in SPARK-17914 but I do not see any
>> decision there.
>>
>> [1] - org.apache.spark.sql.catalyst.util.DateTimeUtils, toJavaTimestamp,
>> line 204
>>
>> Best regards,
>> Anton
>>
>
>

Reply via email to