来自
Dataset
,我正在执行此请求:
select type, count(*) as nombre, max(date) as derniere_course,
round(avg(distance), 1) as distance,
avg(allure_moyenne) as allure_moyenne,
cast(avg(allure_moyenne) as timestamp) as allure,
round(avg(foulees_moy), 2) as foulees
from activites
group by type
order by type
其中字段具有此类型(
printSchema()
):
|-- date: timestamp (nullable = true)
|-- allure_moyenne: double (nullable = true)
|-- distance: double (nullable = true)
|-- foulees_moy: double (nullable = true)
|-- type: string (nullable = false)
这个请求告诉我:
"type","nombre","derniere_course","distance","allure_moyenne","allure","foulees"
"Court",160,2023-09-06 05:29:05.0,3.6,452.09375,1970-01-01 01:07:32.09375,0.86
"Long",11,2023-08-09 10:00:50.0,17.0,469.45454545454544,1970-01-01 01:07:49.454545,0.83
"Moyen",46,2023-09-02 09:34:39.0,8.1,462.5869565217391,1970-01-01 01:07:42.586956,0.84
哪里
allure_moyenne
(452.1469.4…)是我的跑步速度,以秒/公里为单位,适用于短距离、中等距离或长跑。
但这里有两个问题,从
allure_moynne
到
allure
:
452.09375 => 1970-01-01 01:07:32.09375
469.45454545454544 => 1970-01-01 01:07:49
462.5869565217391 => 1970-01-01 01:07:42
但我什么都没发现
火花
仅与时间有关。
cast(avg(allure_moyenne) as time)
不起作用,
如果
to_date(...)
或
to_timestamp(...)
存在,没有
to_time(...)
作用
我尝试过
to_timestamp(cast(avg(allure_moyenne) as timestamp), 'hh:mm:ss')
这很笨拙,但也没用。
即使只能通过将结果提取为
string
而不是
time
,我对创建一个看起来像
07:32
或
07:32.09375
最后。