4. 统计不同温度(取整)下共享单车的使用总数,并按照数目降序排序。(如24度 100)
时间: 2024-01-15 17:03:21 浏览: 47
好的,根据您的要求,我们可以通过以下代码实现:
```python
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName("bike_share")
sc = SparkContext(conf=conf)
data = sc.textFile("hdfs://localhost:9000/exam/学号/train.csv")
header = data.first()
data = data.filter(lambda x: x != header).map(lambda x: x.split(","))
data = data.map(lambda x: (int(float(x[6])), int(x[11])))
result = data.reduceByKey(lambda a, b: a+b).sortByKey(ascending=False)
result.saveAsTextFile("hdfs://localhost:9000/exam/学号/output")
```
在上述代码中,我们首先读取train.csv文件,并过滤掉第一行的表头。然后将每一行数据按逗号分隔,并取出温度和总数两个字段。由于温度数据是浮点型,因此我们需要先将其转换成整型再进行统计。接着,我们使用reduceByKey函数统计不同温度下的共享单车使用总数,并使用sortByKey函数将结果按照温度降序排序。最后,将结果保存到hdfs的“/exam/学号/output”目录下。
需要注意的是,在代码中,您需要将“学号”替换为自己的学号,并且在运行代码之前,需要先把train.csv文件上传到hdfs的“/exam/学号”目录中。
希望这个回答能够帮到您,如果您还有其他问题,请随时提出。
阅读全文