写个spark wordcount 的 demo
时间: 2023-11-16 12:12:44 浏览: 108
好的,以下是一个简单的Spark WordCount Demo:
```java
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import java.util.Arrays;
import java.util.regex.Pattern;
public class SparkWordCount {
private static final Pattern SPACE = Pattern.compile(" ");
public static void main(String[] args) {
// 创建SparkConf对象
SparkConf conf = new SparkConf().setAppName("WordCount").setMaster("local");
// 创建JavaSparkContext对象
JavaSparkContext sc = new JavaSparkContext(conf);
// 读取本地文件,以行为单位读取
JavaRDD<String> lines = sc.textFile("file:///path/to/your/file");
// 分割每一行,得到所有单词,空格作为分隔符
JavaRDD<String> words = lines.flatMap(line -> Arrays.asList(SPACE.split(line)).iterator());
// 计算每个单词的数量
JavaRDD<String> wordCounts = words.mapToPair(word -> new Tuple2<>(word, 1))
.reduceByKey((x, y) -> x + y)
.map(t -> t._1() + ": " + t._2());
// 打印结果
wordCounts.foreach(System.out::println);
// 关闭JavaSparkContext对象
sc.close();
}
}
```
你可以将代码中的 `file:///path/to/your/file` 替换为你自己的文件路径,然后运行这个程序即可得到单词出现次数统计结果。
阅读全文