Spark独立集群看起来正在运行而没有问题:
http://i.stack.imgur.com/gF1fN.png
我按照本教程.
我已经构建了一个胖jar来在集群上运行这个JavaApp.在maven包之前:
find .
./pom.xml
./src
./src/main
./src/main/java
./src/main/java/SimpleApp.java
Run Code Online (Sandbox Code Playgroud)
SimpleApp.java的内容是:
import org.apache.spark.api.java.*;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.SparkConf;
import org.apache.spark.SparkContext;
public class SimpleApp {
public static void main(String[] args) {
SparkConf conf = new SparkConf()
.setMaster("spark://10.35.23.13:7077")
.setAppName("My app")
.set("spark.executor.memory", "1g");
JavaSparkContext sc = new JavaSparkContext (conf);
String logFile = "/home/ubuntu/spark-0.9.1/test_data";
JavaRDD<String> logData = sc.textFile(logFile).cache();
long numAs = logData.filter(new Function<String, Boolean>() {
public Boolean call(String s) { return s.contains("a"); }
}).count();
System.out.println("Lines with a: " + numAs);
}
}
Run Code Online (Sandbox Code Playgroud)
此程序仅在master设置为setMaster("local")时有效.否则我得到这个错误
$ java -cp path_to_file/simple-project-1.0-allinone.jar SimpleApp
小智 46
在SimpleApp.java文件中有匿名类(扩展Function).此类编译为SimpleApp $ 1,应该向Spark集群中的每个worker广播.
最简单的方法是将jar显式添加到Spark上下文中.sparkContext.addJar("path_to_file/simple-project-1.0-allinone.jar")在JavaSparkContext创建和重建jar文件之后添加类似的内容.然后主Spark程序(称为驱动程序)将自动将您的应用程序代码传递给集群.
| 归档时间: |
|
| 查看次数: |
22284 次 |
| 最近记录: |