我正在尝试运行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 --deploy-mode client --driver-memory 10G --executor-memory 10G --num -executors 30 --jars xyz.jar prq.jar $ data
我尝试了各种方式,例如即使我更改了${data}
也给了data='20181210'
,但没有任何效果。
即使我需要ldt2 - ldt1
之间的时差也没有。
请问您对此有何建议?
答案 0 :(得分:0)
在下面的简单示例中查看所需内容
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