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

时间:2016-12-13 04:25:27

标签: java apache-spark yarn

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

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

并且java方面能够知道如何使用火花罐子过程或者它是如何完成的?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:2)

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

有两种提交作业的方式

1)如下例所示,从shell脚本

中提交Spark-submit
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)来自链接中描述的Yarn Client。

Yarn客户端的用法是

  

想要从Java代码提交Spark作业(例如Java servlet或   其他Java代码,如REST服务器)。

当您调用此纱线客户端时......您需要在休息服务或servlet等中调用方法...(即通过Web),您也可以在其中传递参数HashMap或任何java对象类...

出于演示目的,他编写了独立客户端(使用public static void main)

希望你能理解......