用Java写一个程序:假设你有一个文本文件,其中每行包含一个整数。你需要编写一个Spark程序,将这些整数相加并将结果写入一个新的文本文件中。请使用Spark算子读取和写入文件。
时间: 2024-05-27 13:11:16 浏览: 25
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
public class SumFile {
public static void main(String[] args) {
//创建SparkConf对象
SparkConf conf = new SparkConf().setAppName("SumFile").setMaster("local");
//创建JavaSparkContext对象
JavaSparkContext jsc = new JavaSparkContext(conf);
//读取文件
JavaRDD<String> lines = jsc.textFile("input.txt");
//将每行转换成整数
JavaRDD<Integer> nums = lines.map(Integer::valueOf);
//求和
int sum = nums.reduce(Integer::sum);
//将结果写入文件
jsc.parallelize(Arrays.asList(sum)).saveAsTextFile("output.txt");
//关闭JavaSparkContext对象
jsc.close();
}
}