Как преобразовать вызов Livy curl в вызов Livy Rest API - PullRequest
0 голосов
/ 01 октября 2019

Я начинаю работать с Livy, в моей настройке сервер Livy работает на Unix-машине, и я могу выполнить керлинг и выполнить задание. Я создал толстую банку и загрузил ее в hdfs, и я просто вызываю ее основной метод из Livy. Моя полезная нагрузка Json для Livy выглядит следующим образом:

{
"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:

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

Я пытаюсь преобразовать этот вызов API REST и после WordCount пример предоставлен Cloudera , но не смог перевести мой вызов curl в API REST. У меня уже есть все jar-файлы, добавленные в HDFS, поэтому я не думаю, что мне нужно делать вызов jar для загрузки.

1 Ответ

0 голосов
/ 02 октября 2019

Это должно работать и с 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"
}' 

Также я добавляю еще несколько ссылок

http://gethue.com/how-to-use-the-livy-spark-rest-job-server-api-for-submitting-batch-jar-python-and-streaming-spark-jobs/

...