Использование oop Работа в Spark - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть Mapper (CustomMapper.class) и редуктор (CustomReducer.class) класс, который я хочу использовать в Spark. Я мог бы использовать их в Had oop, создав объект Job и затем установив требуемые классы Mapper и Reducer следующим образом:

    Configuration conf = new Configuration();
    Job j = new Job(conf, "Adjacency Generator Job"); 
    j.setMapperClass(CustomMapper.class);
    j.setReducerClass(CustomReducer.class);

Как я могу добиться того же в Spark, используя Java? Я создал объект java RDD следующим образом:

    SparkConf conf=new SparkConf().setAppName("startingSpark").setMaster("local[*]");
    JavaSparkContext sc = new JavaSparkContext(conf); 
    JavaRDD<String> myFile = sc.textFile(args[0]);

Я не уверен, как связать класс Mapper и Reducer в Spark, используя Java. Любая помощь приветствуется.

1 Ответ

1 голос
/ 23 февраля 2020

Почему вы хотите это сделать? Spark внутренне создает DAG для выполнения, которая состоит из преобразований (например, map, filters et c.) И действий (таких как collect, count et c.), Которые вызывают DAG. Это принципиально другой способ вычисления от map-Reduce. Таким образом, ваши Mappers примерно соответствуют действиям карты в RDD и редукторам для любой из функций агрегирования. Пожалуйста, прочитайте документы, чтобы понять, как работает Spark.

...