Попытка создать фрейм данных с одним из полей в качестве метки времени (текущая метка времени в формате% Y-% m-% d% H:% M:% S с использованием date.today()
). Я пробовал несколько способов, но это, кажется, не принимает. Я создаю данные в виде предварительного списка и передаю их в CreateDataFrame, когда время начала задается в качестве формата даты и времени
data_for_frame = [{'program': 'SomeProg', 'operation': 'SomeOperation', 'hostname': 'test-hostname', 'starttime': datetime.date(2020, 4, 9), 'endtime': '2020-04-09 06:01:34'
schema_frame = StructType(List(StructField(program,StringType,true),StructField(operation,StringType,true),StructField(marketplace,StringType,true),StructField(hostname,StringType,true),StructField(starttime,TimestampType,true),StructField(endtime,TimestampType,true)))
dynamic_frame = sparkSession.createDataFrame(data_frame, schema_frame)
И когда время начала устанавливается в формате строки
data_for_frame = [{'program': 'SomeProg', 'operation': 'SomeOperation', 'hostname': 'test-hostname', 'starttime': '2020-04-09 06:01:34', 'endtime': '2020-04-09 06:01:34'
schema_frame = StructType(List(StructField(program,StringType,true),StructField(operation,StringType,true),StructField(marketplace,StringType,true),StructField(hostname,StringType,true),StructField(starttime,TimestampType,true),StructField(endtime,TimestampType,true)))
Когда я передать ему данные в формате даты и времени date.today()
с ошибкой
TypeError: field starttime: TimestampType can not accept object datetime.date(2020, 4, 9) in type <class 'datetime.date'>
в виде числа с плавающей запятой
time.time()
в виде строки
time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
в виде строки
now = datetime.now()
date_time = now.strftime("%m-%d-%Y %H:%M:%S")
завершается с
TypeError: field starttime: TimestampType can not accept object '2020-04-09 06:01:34' in type <class 'str'>