如何将 jar 文件从 java 上传到 ooyala-spark 作业服务器
How to upload a jar file to ooyala-spark job server from java
目前我们可以通过命令行中的以下 curl 命令将 jar 上传到 ooyala-spark 作业服务器:
$curl --data-binary @job-server-tests/target/job-server-tests-0.4.0.jar localhost:8090/jars/test
我想通过 java 代码而不是 curl 命令上传相同的内容。我尝试使用许多 HTTP/Apache 休息客户端,但无法成功提交 jar。
URL 对于 ooyala-spark 作业服务器- https://github.com/ooyala/spark-jobserver
您可以使用 this。
这个库不错,可以帮助您从 java 代码提交作业。
你可以这样做:
ISparkJobServerClient client = null;
try {
client = SparkJobServerClientFactory.getInstance().createSparkJobServerClient("http://ip:8090/");
Map<String, String> jobParams = new HashMap<String, String>();
jobParams.put(ISparkJobServerClientConstants.PARAM_APP_NAME, "job-name");
jobParams.put(ISparkJobServerClientConstants.PARAM_CLASS_PATH, "com.spark.job.WorldCountExample");
SparkJobResult result = client.startJob("param1=\"data1\", param2=\"data2\"", jobParams);
SparkJobResult jobResult = client.getJobResult(result.getJobId())
} catch (SparkJobServerClientException e) {
System.out.println(e)
}finally {
if (client != null) {
client.stop();
}
注意,这是一个异步作业。
目前我们可以通过命令行中的以下 curl 命令将 jar 上传到 ooyala-spark 作业服务器:
$curl --data-binary @job-server-tests/target/job-server-tests-0.4.0.jar localhost:8090/jars/test
我想通过 java 代码而不是 curl 命令上传相同的内容。我尝试使用许多 HTTP/Apache 休息客户端,但无法成功提交 jar。
URL 对于 ooyala-spark 作业服务器- https://github.com/ooyala/spark-jobserver
您可以使用 this。 这个库不错,可以帮助您从 java 代码提交作业。
你可以这样做:
ISparkJobServerClient client = null;
try {
client = SparkJobServerClientFactory.getInstance().createSparkJobServerClient("http://ip:8090/");
Map<String, String> jobParams = new HashMap<String, String>();
jobParams.put(ISparkJobServerClientConstants.PARAM_APP_NAME, "job-name");
jobParams.put(ISparkJobServerClientConstants.PARAM_CLASS_PATH, "com.spark.job.WorldCountExample");
SparkJobResult result = client.startJob("param1=\"data1\", param2=\"data2\"", jobParams);
SparkJobResult jobResult = client.getJobResult(result.getJobId())
} catch (SparkJobServerClientException e) {
System.out.println(e)
}finally {
if (client != null) {
client.stop();
}
注意,这是一个异步作业。