def calculate_session_duration(df):
newDf = df.groupBy("SessionId").agg((F.max("TimeGenerated") - F.min("TimeGenerated")).alias("TimeRange"))
return df2
嗨,伙计们,我在PySpark中有以下函数,时间戳之间的减法返回我和"间隔日到秒";数据类型。我正试图弄清楚如何从"时间范围"列中提取纳秒。大概是这样的:输入图片描述
你有什么建议吗?谢谢。
试试这个:
def calculate_session_duration(df):
newDf = df.groupBy("SessionId").agg((F.max("TimeGenerated").cast(DoubleType()) - F.min("TimeGenerated").cast(DoubleType())).alias("TimeRange"))
return df2
输出将像这样:
+-------------------+--------------------------+------------------+
|x |y |TimeRange |
+-------------------+--------------------------+------------------+
|2022-06-10 00:00:00|2022-06-10 17:26:39.438444|62799.438443899155|
+-------------------+--------------------------+------------------+
和浮点数之后的值都是秒的小数。