9

在我的应用程序中,我需要连接到数据库,因此在提交应用程序时我需要传递 IP 地址和数据库名称。

我提交申请如下:

./spark-submit --class class name --master spark://localhost:7077 \
--deploy-mode client /home/hadoop/myjar.jar
4

2 回答 2

12

如果您查看官方文档,您会看到spark-submit具有以下语法:

./bin/spark-submit \
  --class <main-class>
  --master <master-url> \
  --deploy-mode <deploy-mode> \
  --conf <key>=<value> \
  ... # other options
  <application-jar> \
  [application-arguments]

您可以使用application-argumentsconf将所需的配置SparkConf分别传递给主要方法 和 。

于 2016-03-04T00:24:00.117 回答
3

如 zero323 所述,您可以使用链接中的spark-submit命令

  ./bin/spark-submit \
  --class <main-class>
  --master <master-url> \
  --deploy-mode <deploy-mode> \
  --conf <key>=<value> \
  ... # other options
  <application-jar> \
  [application-arguments]

在这里,conf用于传递应用程序运行所需的 Spark 相关配置,如任何特定属性(执行程序内存),或者如果您想覆盖在Spark-default.conf中设置的默认属性。

就您的用例而言,您希望将 IP 传递给应用程序以连接到数据库,然后您可以使用在 JAR 之后传递的[application-arguments] 。

当您将主要设置为:

def main(args: Array[String])

然后你可以接受任何东西作为 .jar 行之后给出的参数。

详情请参阅

于 2016-11-04T18:05:35.603 回答