Scala 如何将Livy curl调用转换为Livy restapi调用

Scala 如何将Livy curl调用转换为Livy restapi调用,scala,apache-spark,livy,Scala,Apache Spark,Livy,我开始使用Livy,在我的设置中,Livy服务器在Unix机器上运行,我能够执行curl并执行作业。我已经创建了一个胖罐子并将其上传到hdfs上,我只是从Livy调用它的主要方法。我为Livy提供的Json负载如下所示: { "file" : "hdfs:///user/data/restcheck/spark_job_2.11-3.0.0-RC1- SNAPSHOT.jar", "proxyUser" : "test_user", "className" : "com.local.test.s

我开始使用Livy,在我的设置中,Livy服务器在Unix机器上运行,我能够执行curl并执行作业。我已经创建了一个胖罐子并将其上传到hdfs上,我只是从Livy调用它的主要方法。我为Livy提供的Json负载如下所示:

{
"file" : "hdfs:///user/data/restcheck/spark_job_2.11-3.0.0-RC1-
SNAPSHOT.jar",
"proxyUser" : "test_user",
"className" : "com.local.test.spark.pipeline.path.LivyTest",
"files" : ["hdfs:///user/data/restcheck/hivesite.xml","hdfs:///user/data/restcheck/log4j.properties"],
"driverMemory" : "5G",
"executorMemory" : "10G",
"executorCores" : 5,
"numExecutors" : 10,
"queue" : "user.queue",
"name"  : "LivySampleTest2",
"conf" : {"spark.master" : "yarn","spark.executor.extraClassPath" : 
"/etc/hbase/conf/","spark.executor.extraJavaOptions" : "-Dlog4j.configuration=file:log4j.properties","spark.driver.extraJavaOptions" : "-Dlog4j.configuration=file:log4j.properties","spark.ui.port" : 4100,"spark.port.maxRetries" : 100,"JAVA_HOME" : "/usr/java/jdk1.8.0_60","HADOOP_CONF_DIR" : 
"/etc/hadoop/conf:/etc/hive/conf:/etc/hbase/conf","HIVE_CONF_DIR" : 
"/etc/hive/conf"}
}
下面是我对它的呼吁:

curl -X POST --negotiate -u:"test_user" --data @/user/data/Livy/SampleFile.json  -H "Content-Type: application/json" https://livyhost:8998/batches 

我正在尝试将其转换为RESTAPI调用并遵循,但无法将我的curl调用转换为RESTAPI。我已经在HDFS中添加了所有jar,因此我认为我不需要执行上传jar调用。

它也应该可以与curl一起使用

请尝试下面的JSON

curl -H "Content-Type: application/json" https://livyhost:8998/batches
 -X POST --data '{
  "name" : "LivyREST",
  "className" :  "com.local.test.spark.pipeline.path.LivyTest",
  "file"  : "/user/data/restcheck/spark_job_2.11-3.0.0-RC1-
SNAPSHOT.jar"
}' 
此外,我还添加了一些参考资料


分享您遇到了什么异常?Curl可以正常工作,但是我现在需要从JVM提交它,并想知道如何将这个Curl调用转换为JVM的rest调用。