我正在尝试使用REST API提交Snappy Job。
我发现论坛中提到的某个地方SnappyData正在使用 Spark Jobserver REST API。
您能指向《文档/用户指南》如何做到吗?
答案 0 :(得分:1)
Snappydata在内部使用spark-jobserver提交作业。因此,所有spark-jobserver REST API均可在Snappydata的主导节点上访问。
您可以在此处引用所有spark-jobserver API:https://github.com/SnappyDataInc/spark-jobserver#api
以下是一些有用的curl命令,以进一步阐明它:
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。