Ce qui est une tâche Spark? Comment l'Étincelle travailleur d'exécuter le fichier jar?

Après la lecture d'un document sur http://spark.apache.org/docs/0.8.0/cluster-overview.html, j'ai quelques question que je tiens à préciser.

Prendre cet exemple de l'Étincelle:

JavaSparkContext spark = new JavaSparkContext(
  new SparkConf().setJars("...").setSparkHome....);
JavaRDD<String> file = spark.textFile("hdfs://...");

//step1
JavaRDD<String> words =
  file.flatMap(new FlatMapFunction<String, String>() {
    public Iterable<String> call(String s) {
      return Arrays.asList(s.split(" "));
    }
  });

//step2
JavaPairRDD<String, Integer> pairs =
  words.map(new PairFunction<String, String, Integer>() {
    public Tuple2<String, Integer> call(String s) {
      return new Tuple2<String, Integer>(s, 1);
    }
  });

//step3
JavaPairRDD<String, Integer> counts =
  pairs.reduceByKey(new Function2<Integer, Integer>() {
    public Integer call(Integer a, Integer b) {
      return a + b;
    }
  });

counts.saveAsTextFile("hdfs://...");

Donc, disons que j'ai 3 nœuds de cluster, et le nœud 1 exécute en tant que maître, et au-dessus de programme pilote a été correctement jared (dire application-test.jar). Alors maintenant, je suis en cours d'exécution de ce code sur le nœud maître et je crois que juste après la SparkContext en cours de création, l'application-test.jar le fichier sera copié dans les nœuds de travail (et de chaque travailleur va créer un dir pour cette application).

Alors maintenant ma question:
Sont etape 1, etape 2 et etape 3 dans l'exemple des tâches qui sont envoyés sur les travailleurs? Si oui, alors comment le travailleur doit-il exécuter? Comme java -cp "application-test.jar" step1 et ainsi de suite?

InformationsquelleAutor EdwinGuo | 2014-08-13