我正在尝试在AWS EMR主节点上运行Spark代码。但是无法在主节点上配置上下文。
SparkConf conf = new SparkConf().setAppName("testapp");
JavaSparkContext sc = new JavaSparkContext(conf);
我尝试了setMaster('yarn'),也没有使用master。但是无法使其运行。
甚至有可能作为Java App的一部分在主节点上运行Spark代码。我在AWS EMR集群的主节点上运行了Spring Boot应用程序。
如果我在另一个ec2实例上运行它,如何配置它在EMR群集上运行?
@RequestMapping(
path = "/test/api",
method = RequestMethod.GET
)
public Integer testApi(
final HttpServletResponse response
) {
SparkConf conf = new SparkConf().setAppName("testApp");
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD<String> lines = sc.textFile("test.txt");
JavaRDD<String> numbers = lines.flatMap(line -> Arrays.asList(line.split("\\s+")).iterator());
JavaRDD<String> validNumbers = numbers.filter(number -> !number.isEmpty());
JavaRDD<Integer> intNumbers = validNumbers.map(number -> Integer.valueOf(number));
return intNumbers.reduce((x, y) -> x + y);
}