spark系统写一个分布式程序
时间: 2023-08-16 13:08:09 浏览: 106
好的,下面是一个简单的分布式Spark程序的示例,该程序从一个文本文件中读取数据,计算每个单词出现的频率,并将结果写入到另一个文本文件中。
```python
from pyspark import SparkContext, SparkConf
# 创建Spark配置对象
conf = SparkConf().setAppName("word-count")
# 创建Spark上下文对象
sc = SparkContext(conf=conf)
# 读取输入文件
lines = sc.textFile("input.txt")
# 对每行数据进行切分,并将单词转换为小写
words = lines.flatMap(lambda line: line.strip().lower().split(" "))
# 计算每个单词的出现次数
word_count = words.map(lambda word: (word, 1)).reduceByKey(lambda x, y: x + y)
# 将结果写入输出文件
word_count.saveAsTextFile("output.txt")
# 停止Spark上下文对象
sc.stop()
```
在这个示例中,我们首先创建了一个Spark配置对象,并将应用程序的名称设置为“word-count”。然后,我们创建了Spark上下文对象,它是Spark应用程序的入口点。接着,我们使用`textFile()`方法从指定的文件中读取数据,并使用`flatMap()`方法将每行数据切分成单词。然后,我们使用`map()`方法将每个单词转换为一个键值对`(word, 1)`,其中`word`是单词本身,`1`表示出现次数。接着,我们使用`reduceByKey()`方法计算每个单词的出现次数,并将结果保存到输出文件中。最后,我们停止Spark上下文对象以释放资源。
注意,以上示例是使用Python API编写的。如果您使用其他编程语言(如Java或Scala),则需要相应地调整代码。
阅读全文