SnappyData REST API提交作业

时间:2019-05-22 09:09:49

标签: apache-spark snappydata

我正在尝试使用REST API提交Snappy Job。

  • 我们已经能够使用snappy-job Submit命令提交SnappyJob 线条工具。
  • 我找不到任何文档来说明如何通过 REST API。
  • 我发现论坛中提到的某个地方SnappyData正在使用 Spark Jobserver REST API。

    您能指向《文档/用户指南》如何做到吗?

1 个答案:

答案 0 :(得分:1)

Snappydata在内部使用spark-jobserver提交作业。因此,所有spark-jobserver REST API均可在Snappydata的主导节点上访问。

您可以在此处引用所有spark-jobserver API:https://github.com/SnappyDataInc/spark-jobserver#api

以下是一些有用的curl命令,以进一步阐明它:

  • 在作业服务器上部署应用程序jar:

curl --data-binary @/path/to/applicaton.jar localhost:8090/jars/testApp

testApp是将用于提交作业的作业服务器应用的名称

  • 创建上下文:

curl -X POST "localhost:8090/contexts/testSnappyContext?context-factory=org.apache.spark.sql.SnappySessionFactory"

testSnappyContext是将用于提交作业的上下文的名称。

另外,请注意,我们在此处传递了一个自定义上下文工厂参数,这对于提交快速的作业是必需的。

  • 提交工作:

curl -d "configKey1=configValue1,configKey2=configValue2" "localhost:8090/jobs?appName=testApp&classPath=com.package.Main&context=testSnappyContext"

com.package.Main是扩展org.apache.spark.sql.SnappySQLJob的类的标准名称。

  • 停止工作

curl -X DELETE localhost:8090/jobs/bfed84a1-0b06-47ca-81a7-9b8defb51e38

bfed84a1-0b06-47ca-81a7-9b8defb51e38是您将在作业提交请求响应中获得的作业ID。

  • 停止上下文

curl -X DELETE localhost:8090/contexts/testSnappyContext

  • 取消部署应用程序罐

snappydata使用的作业服务器版本没有公开用于取消部署jar的RESTful API。但是,部署具有相同应用程序名称的jar(在我们的示例中为testApp)将覆盖先前为同一应用程序部署的jar。