Я начинаю работать с 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 для загрузки.