如何将 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();
        }

注意,这是一个异步作业。