Spark-使用参数从java调用Spark jar
我想从java调用spark jar(在Thread上运行spark进程),并尝试使用这段代码 它看起来适合我的情况,但我需要将hashmap和一些java值传递给spakrjar。它能够将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端是否能够知道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客户端模式更好。