pyspark извлекает конкретное значение из переменной - PullRequest
0 голосов
/ 18 октября 2019

У меня есть скрипт ниже.

Я немного застрял с этим конкретным фрагментом:

datex = datetime.datetime.strptime(df1.start_time,'%Y-%m-%d %H:%M:%S')

Я не могу понять, как извлечь фактическое значение из поля start_time и сохранить его в переменной datex.

Может кто-нибудь помочь мне, пожалуйста?

while iters <10:

    time_to_add = iters * 900
    time_to_checkx = time_to_check + datetime.timedelta(seconds=time_to_add)

    iters = iters + 1
    session = 0

    for row in df1.rdd.collect():
        datex = datetime.datetime.strptime(df1.start_time,'%Y-%m-%d %H:%M:%S')
        print(datex)
        filterx = df1.filter(datex < time_to_checkx)
        session = session + filterx.count()
        print('current session value' + str(session))

print(session)

1 Ответ

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

Проверьте это. Я преобразовал ваш цикл в целом. Если вы можете получить больше информации о переменной iters или объяснение того, как вы хотите, чтобы она работала:

import pyspark.sql.functions a F

spark_date_format = "YYYY-MM-dd hh:mm:ss"
session = 0
time_to_checkx = time_to_check + datetime.timedelta(seconds=time_to_add)

df1 = df1.withColumn('start_time', F.to_timestamp(F.col(date_column), spark_date_format))
filterx = df1.filter(df1.start_time < time_to_checkx)
session = session + filterx.count()
...