Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spark-使用参数从java调用Spark jar_Java_Apache Spark_Yarn - Fatal编程技术网

Spark-使用参数从java调用Spark jar

Spark-使用参数从java调用Spark jar,java,apache-spark,yarn,Java,Apache Spark,Yarn,我想从java调用spark jar(在Thread上运行spark进程),并尝试使用这段代码 它看起来适合我的情况,但我需要将hashmap和一些java值传递给spakrjar。它能够将java对象传递给spark jar吗 java端是否能够知道mush spark jar是如何处理的,或者它是如何完成的?如果是,怎么做?我认为您误解了数据算法中给出的内容 提交作业有两种方式 1) Spark从shell脚本提交如下示例 cat run_secondarysorting.sh #!/bi

我想从java调用spark jar(在Thread上运行spark进程),并尝试使用这段代码

它看起来适合我的情况,但我需要将hashmap和一些java值传递给spakrjar。它能够将java对象传递给spark jar吗


java端是否能够知道mush spark jar是如何处理的,或者它是如何完成的?如果是,怎么做?

我认为您误解了数据算法中给出的内容

提交作业有两种方式

1) Spark从shell脚本提交如下示例

cat run_secondarysorting.sh

#!/bin/bash
export JAVA_HOME=/usr/java/jdk7
export SPARK_HOME=/home/hadoop/spark-1.1.0
export SPARK_MASTER=spark://myserver100:7077
BOOK_HOME=/home/mp/data-algorithms-book
APP_JAR=$BOOK_HOME/dist/data_algorithms_book.jar
INPUT=/home/hadoop/testspark/timeseries.txt
# Run on a Spark standalone cluster
prog=org.dataalgorithms.chap01.spark.SparkSecondarySort
$SPARK_HOME/bin/spark-submit \
--class $prog \
--master $SPARK_MASTER \
--executor-memory 2G \
--total-executor-cores 20 \
$APP_JAR
2) 来自链接中描述的纱线客户机

纱线客户机的使用

希望从Java代码(如Java servlet或 其他Java代码(如REST服务器)

当您呼叫此纱线客户时。。。然后,您需要在rest服务或servlet等中调用as方法。。。(即通过web)您还可以在其中传递参数,如HashMap或任何java对象种类…

为了演示,他编写了独立客户端(带有公共静态void main)


希望您理解..

从现在起,我将spark jar嵌入到核心java项目中,并使用spark main方法调用它来传递一些对象。(它工作得很好),但正如spark中处理的文件越来越大一样,我认为如果文件越来越大,satndalone模式是不够的。那么问题是什么,你想通过rest服务或servlet使用Thread客户端来做吗?是的。你是对的。我的回答有助于更好地理解吗?请参阅此独立模式:这是默认设置。您在主节点上启动Spark master,在每个从属节点上启动“worker”,然后将Spark应用程序提交给Spark master。纱线客户端模式:在此模式下,不启动Spark主节点或工作节点。而是将Spark应用程序提交给Thread,Thread在提交应用程序的客户端Spark进程中运行Spark驱动程序。纱线簇模式在此模式下,不启动Spark主节点或辅助节点。相反,您将Spark应用程序提交给Thread,它在Thread中的ApplicationMaster中运行Spark驱动程序。对于webapps,我认为Thread客户端模式更好。