Передача параметров во время выполнения для искры - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь запустить программу spark scala, которая будет читать данные улья и загружать в таблицу postgres.

val ds = args(0)

//Getting current time of system
val ldt1 = LocalDateTime.now

val df2 = hiveContext.sql("select * from hive.table where ds='${ds}'")
df2.write .mode(SaveMode.Append) .jdbc( url = url, table = "post.tabl1", connectionProperties = connectionProperties)

//Getting current time of system
val ldt2 = LocalDateTime.now

Через оболочку Spark я даю следующее:

data=20181210

/usr/hdp/2.5.3.0-37/spark2/bin/spark-submit --class abc - master yarn - клиент режима развертывания - память-драйвер 10G - память-executor 10G - число-исполнителей 30--jars xyz.jar prq.jar $ data

Я пробовал все способы, например, давать ${data}, даже если я изменил data='20181210', но ничего не работает.

Даже мне нужна разница во времени между ldt2 - ldt1 который не дает.

Не могли бы вы посоветовать это?

1 Ответ

0 голосов
/ 04 января 2019

Ниже приведен простой пример того, что вам нужно

object Main{
  def main(args: Array[String]): Unit = {
    val ds = args(0)

    println("Args 1 passed is " + ds)

  }
}

Вы можете упаковать эту программу, например, с помощью любого инструмента maven и запустить следующую команду

spark-submit --class Main --master local[*] --deploy-mode client --driver-memory 1G --executor-memory 1G --num-executors 1 TestLogic-1.0-SNAPSHOT.jar 12345

Пример вывода

2019-01-04 05:34:02 WARN  NativeCodeLoader:62 - Unable to load native-hadoop lib
rary for your platform... using builtin-java classes where applicable
Args 1 passed is 12345
2019-01-04 05:34:03 INFO  ShutdownHookManager:54 - Shutdown hook called
2019-01-04 05:34:03 INFO  ShutdownHookManager:54 - Deleting directory C:\Users\Path
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...