出一套sparkRdd编程题的试卷及参考答案
以下是一套Spark RDD编程题的试卷,包含三个问题和参考答案。
题目一
有一个文本文件,每行包含一个整数。请使用Spark RDD编程,找出所有奇数的平均值并输出。
参考答案:
from pyspark import SparkContext
sc = SparkContext("local", "Odd Numbers Average")
# 读取文本文件并创建RDD
data = sc.textFile("file:///path/to/file.txt")
# 过滤出所有奇数
odd_numbers = data.filter(lambda x: int(x) % 2 == 1)
# 计算平均值
odd_numbers_count = odd_numbers.count()
odd_numbers_sum = odd_numbers.reduce(lambda x, y: int(x) + int(y))
odd_numbers_average = odd_numbers_sum / odd_numbers_count
# 输出结果
print("Odd Numbers Average: ", odd_numbers_average)
题目二
有一个文本文件,每行包含一个字符串。请使用Spark RDD编程,找出所有单词的出现次数并按照出现次数从高到低排序输出。
参考答案:
from pyspark import SparkContext
sc = SparkContext("local", "Word Count")
# 读取文本文件并创建RDD
data = sc.textFile("file:///path/to/file.txt")
# 切分单词并计数
word_counts = data.flatMap(lambda x: x.split(" ")) \
.map(lambda x: (x, 1)) \
.reduceByKey(lambda x, y: x + y)
# 按照出现次数从高到低排序
sorted_word_counts = word_counts.sortBy(lambda x: x[1], ascending=False)
# 输出结果
for word, count in sorted_word_counts.collect():
print("{}: {}".format(word, count))
题目三
有一个文本文件,每行包含一个字符串,字符串中的单词以空格分隔。请使用Spark RDD编程,找出所有包含指定单词的行并输出。
参考答案:
from pyspark import SparkContext
sc = SparkContext("local", "Lines with Word")
# 读取文本文件并创建RDD
data = sc.textFile("file:///path/to/file.txt")
# 查找包含指定单词的行
word = "Spark"
lines_with_word = data.filter(lambda x: word in x)
# 输出结果
for line in lines_with_word.collect():
print(line)
``
原文地址: https://www.cveoy.top/t/topic/gA1l 著作权归作者所有。请勿转载和采集!