你好我有一个这样的表下面
| 项目名称|项目值|时间戳|
| - ------|- ------|- ------|
| hpc_max|0.25|2023-03-01T17:20:00.000+0000|
| 资产最小值|0.34|2023-03-01T17:20:00.000+0000|
| 偏离中线|0.30|2023-03-01T17:30:00.000+0000|
| hpc_max|0.54|2023-03-01T17:30:00.000+0000|
| 资产最小值|0.32|2023-03-01T17:35:00.000+0000|
| 偏离中线|0.67|2023-03-01T17:20:00.000+0000|
| 资产最小值|0.54|2023-03-01T17:30:00.000+0000|
| 偏离中线|0.32|2023-03-01T17:35:00.000+0000|
| hpc_max|0.67|2023-03-01T17:35:00.000+0000|
我使用下面的命令按时间戳对item_values进行分组
grouped_df = (
df.groupBy("timestamp")
.agg(sort_array(collect_list("item_values")).alias("item_values"))
)
result = [row["item_values"] for row in grouped_df.sort("timestamp").collect()]
返回的输出是这样的
[[10.046214032028468,
10.112576620155044,
23.68193075],
[10.046214032028468,
10.112576620155044,
23.660212571428573]]
但我希望这些值按照item_names(资产_最小值、hpc_最大值、off_median)的顺序排列
如何使用pyspark?
将非常感谢您的帮助!
1条答案
按热度按时间mtb9vblg1#
这是可行的:
输入:
输出: