Как тоже добавить минуты в datetime в pyspark - PullRequest
0 голосов
/ 23 сентября 2019

Я бы хотел добавить 10 минут к дате «2011-09-23 15: 56: 39.2370000» в pyspark. (Основной мотив для моего проекта).Но dateadd здесь не работает.

Я попробовал это:

%%spark 

import pyspark.sql.functions as F
from datetime import datetime

query = """Select 
                    Id,
                    clientid,
                    datetimeA
                    CASE
                        When 
                            datetimeB between datetimeA and dateadd(minute, 10,'datetimeA')
                        Then
                            datetimeB
                        Else
                            Null END       AS DatetimeB


            from 
                    TABLE_A 
                """

queryDF = spark.sql(query)

Но не сработало.

Требуемый вывод:

ID | Clientid |              DateTimeA            |             DateTimeB              |
1       123     "2011-09-23 15:56:39.2370000"           "2011-09-23 15:58:39.2370000"
2       124     "2011-09-23 15:56:39.2370000"                       null (if the datetime is beyong 10 minutes)

1 Ответ

0 голосов
/ 23 сентября 2019

Вы можете использовать INTERVAL:

spark.sql("""SELECT current_timestamp() AS now, current_timestamp() + INTERVAL 10 MINUTES AS add_ten_min""").show(2,False)
+-----------------------+-----------------------+
|now                    |add_ten_min            |
+-----------------------+-----------------------+
|2019-09-23 12:36:44.424|2019-09-23 12:46:44.424|
+-----------------------+-----------------------+

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...