Я пытаюсь запустить искровой код на главном узле AWS EMR. Но не удалось настроить контекст на главном узле.
SparkConf conf = new SparkConf().setAppName("testapp");
JavaSparkContext sc = new JavaSparkContext(conf);
Я пробовал setMaster ('пряжа') и без мастера. Но не в состоянии заставить его работать.
Возможно ли даже запустить код Spark на главном узле как часть Java-приложения. У меня запущено приложение Spring Boot на главном узле кластера AWS EMR.
Если я запускаю это на другом экземпляре 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);
}