【发布时间】:2022-03-17 22:58:17
【问题描述】:
我在这里使用 PySpark 数据框。 “test1”是我的 PySpark 数据框,event_date 是 TimestampType。因此,当我尝试获取不同的 event_date 计数时,结果是一个整数变量,但是当我尝试获取同一列的最大值时,结果是一个数据帧。我想了解哪些操作会导致数据框和变量。我也想知道如何将事件日期的最大值存储为变量
产生整数类型的代码:
loop_cnt=test1.select('event_date').distinct().count()
type(loop_cnt)
产生数据框类型的代码:
last_processed_dt=test1.select([max('event_date')])
type(last_processed_dt)
已编辑以添加可重现的示例:
schema = StructType([StructField("event_date", TimestampType(), True)])
df = sqlContext.createDataFrame([(datetime(2015, 8, 10, 2, 44, 15),),(datetime(2015, 8, 10, 3, 44, 15),)], schema)
返回数据框的代码:
last_processed_dt=df.select([max('event_date')])
type(last_processed_dt)
返回变量的代码:
loop_cnt=df.select('event_date').distinct().count()
type(loop_cnt)
【问题讨论】:
-
你应该展示一个可重现的例子!
标签: apache-spark pyspark