sparkjava代码 spark java demo

如何用java代码替代spark-submit脚本

例子:在开发web项目结合spark云平台时遇到一个难题,当一个类继承了ActionSupport成为一个action后,在它的method()中不能调用spark程序(会报找不到spark jar包的错误,不知道怎么解决)。

创新互联建站是一家专业提供翠屏企业网站建设,专注与网站设计制作、成都网站制作H5响应式网站、小程序制作等业务。10年已为翠屏众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

解决方案:把spark程序打包成jar文件,写一个脚本,在action的method()中调用这个脚本,运用spark-submit启动spark程序。

脚本代码 ,CRS.sh :

/usr/local/spark/spark-1.0.0-bin-hadoop1/bin/spark-submit \

--class ar.runCourseCF \

--master local[4] \

/root/IdeaProjects/HelloWorld/web/WEB-INF/lib/test.jar

struts2 的 action类:

public class recommendationAction extends ActionSupport

implements ModelDrivenRecommendationArguments {

private RecommendationArguments recommendation = new RecommendationArguments();

public String execute() throws Exception

{

//脚本路径

String shellPath = "/root/IdeaProjects/HelloWorld/src/CRS.sh";

System.out.println(shellPath);

ShellUtil shell = new ShellUtil();

shell.runShell(shellPath);

return SUCCESS;

}

public RecommendationArguments getModel()

{

return recommendation;

}

}

java运行脚本的代码:

public class ShellUtil {

public void runShell(String shellPath)

{

//String shellPath="/root/IdeaProjects/CRS.sh"; //程序路径

try {

Process process = null;

//添加权限

String command1 = "chmod 777 " + shellPath;

process = Runtime.getRuntime().exec(command1);

process.waitFor();

//用sh CRS.sh执行脚本

String command2 = "sh " + shellPath;

Runtime.getRuntime().exec(command2).waitFor();

}catch(Exception e)

{

System.out.println(e.toString());

怎样使用java开发spark程序?

1、Spark 是基于内存的分布式计算框架,因为无需利用 HDFS 作为中间结果保存的介质,性能杠杠的。Spark 是由 Scala 实现的,所以最好学习一下 Scala(当然用 Python 和 Java 也是可以的)。()

为啥要用 Spark?

快!基于内存

易用!Scala, Java, Python 都支持,还有交互式的 Python 和 Scala 的 shell,可以快速进行原型开发

通用!批处理、交互查询、流处理、机器学习、图计算,样样精通

兼容!可以使用各种现有的技术作为底层,也可以自己独立运行

Spark 生态系统有哪些组件?

Spark SQL: 类似 Hive,支持在不同 RDD 上进行类似 SQL 的操作

Spark Streaming: 对于流数据进行处理

MLlib: 机器学习库

GraphX: 图并行框架

RDD 是什么?

在 Spark 框架中,最重要的是一类新的数据抽象,叫做 Resilient Distributed Dataset - RDD。RDD 是分布式存储在集群中的内存对象,按照值的范围或者哈希结果进行划分。与此同时 RDD 会记录关于数据进行的各种操作(每次操作都会生成新的 RDD),这样即使节点挂掉,也能够根据之前的操作日志重新得到损失的 RDD

RDD 支持2种操作:

转换(transformation):从现有的数据集创建一个新的数据集

动作(actions):在数据集上运行计算后,返回一个值给驱动程序

2、实战java开发spark程序

3、spark集群环境搭建

有没有java语言中的spark graphx代码实例

首先,在SparkShell中运行一下代码importorg.apache.spark._importorg.apache.spark.graphx._//TomakesomeoftheexamplesworkwewillalsoneedRDDimportorg.apache.spark.rdd.RDD//AssumetheSparkContexthasalreadybeencon


本文标题:sparkjava代码 spark java demo
本文来源:http://ybzwz.com/article/dopchdj.html