spark分组汇总:分别汇总各城市的温度和天数
时间: 2024-10-15 08:11:23 浏览: 17
Spark(Apache Spark)是一个强大的大数据处理框架,其中DataFrame和RDD(Resilient Distributed Datasets)提供了高效的数据操作能力。如果你想要按照城市对数据进行分组并计算每个城市的平均温度以及记录的天数,你可以使用`groupBy()`函数进行分组,然后结合聚合函数`mean()`和`count()`。
假设你有一个包含“城市”、“日期”和“温度”的DataFrame,可以这样做:
```python
from pyspark.sql import functions as F
# 假设df是你的DataFrame名字,columns=['city', 'date', 'temperature']
grouped_df = df.groupBy('city')
# 计算平均温度
avg_temperature = grouped_df.agg(F.mean('temperature').alias('average_temperature'))
# 计算天数
count_per_city = grouped_df.count().alias('days_count')
# 结合两个结果
summary_df = avg_temperature.join(count_per_city, on='city')
```
这将返回一个新的DataFrame `summary_df`,其中包含每个城市的名称、平均温度和该城市的记录天数。
阅读全文