先从需求说起:有一个数据管理平台客户端,数据处理流是FlinkJob的算子链完成的,但是要让客户端后端的SpringBoot项目直接控制FlinkJob的任务执行,包括提交,下线等等。
一开始找了下现成的集成包,客户端,但是好像没有。后来仔细看了开源的DolphinSchedule,发现它针对Flink的操作全是Shell,于是自己也想着模仿它来弄一套。
(1)本地写一个.sh脚本
从这个shell看出,接受了一些入参。并且对百度发起了get请求。
(2)通过Java来调用
public static void main(String[] args) {
try {
// 指定测试shell脚本
String shellPath = "/Users/jojo/Downloads/ddp-mvp-flink-job-" +
"linhantao-54214c7fa0e526ce2131ee6d7f7de4c7747c3528/test.sh 1,2,3";
// 执行脚本
Process process = Runtime.getRuntime