1.题目需求
利用数据集SogouQ2012.mini.tar.gz 将数据按照访问次数进行排序,求访问量前10的网址,每一行数据代表一个url被访问1次
2.代码
from pyspark import SparkContext, SparkConf
def main():
conf = SparkConf().setMaster("local[*]").setAppName("第一个Spark程序")
sc = SparkContext(conf=conf)
urls = sc.textFile("E:\\SogouQ.mini")
urls_counts = urls.map(lambda line: (line.split("\t")[0], 1)) # 假设URL是每行的第一个字段
top_urls = urls_counts.reduceByKey(lambda x, y: x + y).sortBy(lambda x: x[1], ascending=False).take(10)
for url, count in top_urls:
print(f"访问量前10的网站: {url}, 访问量为 {count}")
sc.stop()
if __name__ == "__main__":
main()