目前仅支持
Yarn-Per-Job
模式
<dependency>
<groupId>com.isxcode.acorn</groupId>
<artifactId>acorn-client</artifactId>
<version>1.2.0</version>
</dependency>
acorn:
check-servers: true
servers:
default:
host: isxcode
port: 30155
key: acorn-key
package com.isxcode.acorn.demo;
import com.isxcode.acorn.client.template.AcornTemplate;
import com.isxcode.acorn.api.pojo.AcornResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping
@RestController
@SpringBootApplication
@RequiredArgsConstructor
public class DemoApplication {
private final AcornTemplate acornTemplate;
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/execute")
public AcornResponse executeFlinkSql() {
String flinkSql = "" +
"CREATE TABLE from_table(\n" +
" username STRING,\n" +
" age INT\n" +
") WITH (\n" +
" 'connector'='jdbc',\n" +
" 'url'='jdbc:mysql://isxcode:30306/ispong_db',\n" +
" 'table-name'='users',\n" +
" 'driver'='com.mysql.cj.jdbc.Driver',\n" +
" 'username'='root',\n" +
" 'password'='ispong123');" +
"" +
"CREATE TABLE to_table(\n" +
" username STRING,\n" +
" age INT\n" +
") WITH (\n" +
" 'connector'='jdbc',\n" +
" 'url'='jdbc:mysql://isxcode:30306/ispong_db',\n" +
" 'table-name'='users_sink',\n" +
" 'driver'='com.mysql.cj.jdbc.Driver',\n" +
" 'username'='root',\n" +
" 'password'='ispong123');" +
"" +
"insert into to_table select username, age from from_table";
return acornTemplate.build().sql(flinkSql).deploy();
}
}
{
"code":"200",
"message":"操作成功",
"acornData":{
"applicationId":"application_1667964484125_0003",
"flinkJobId":"1667964484125_0003"
}
}
Thanks for free JetBrains Open Source license