定制开发小程序Flink sql-client.sh使用

SQL Client定制开发小程序旨在提供一种简单的方式来编写、定制开发小程序调试表程序,并向Flink定制开发小程序集群提交表程序,而不需要一行Java或Scala代码。SQL Client CLI允许在命令行上检索和可视化运行的分布式应用程序的实时结果。

1. 简单使用

使用简单,即在里面直接写sql即可,比如:

./bin/sql-client.sh 启动client,然后就可以进行sql的编写了,如下:

--实现MySQL CDC写往另外一个MySQL表

CREATE TABLE a1 (
     aid INT,
     subid INT,
     name STRING
     ) WITH (
     'connector' = 'mysql-cdc',
     'hostname' = 'xxx',
     'port' = '3306',
     'username' = 'xxx',
     'password' = 'xxx',
     'database-name' = 'test',
     'table-name' = 'a1',
     'scan.incremental.snapshot.enabled' = 'false'
     );
     
CREATE TABLE a2 (
     aid INT,
     subid INT,
     name STRING
  PRIMARY KEY (aid) NOT ENFORCED
) WITH (
   'connector' = 'jdbc',
   'url' = 'jdbc:mysql://xxx:3306/test',
   'table-name' = 'a2',
   'username' = 'xxx',
   'password' = 'xxx'
);

insert into a2 select * from a1;

对于配置可以使用set设置,即 SET 'key' = 'value';

2. 支持的参数

sql-client.sh 支持一些参数,可以使用 --help查看。这里讲解最重要的2个参数,即 -i 和 -f。

-i:后面接初始化文件,注释是 -- ,不是#。初始化文件里不要有查询和插入语句,支持下面的语句。

 -f:就是接sql文件。即不用进行交互式查询,可以接 -f xxx.sql 来执行xxx.sql文件。这里注意:xxx.sql文件里的提交语句会被分开成一个个job,如果想要在一个job里提交就要注意写法,即:

在1.15.0以前语法:
BEGIN STATEMENT SET;
  -- one or more INSERT INTO statements
  { INSERT INTO|OVERWRITE <select_statement>; }+
END;
在1.15.0之后语法:
EXECUTE STATEMENT SET 
BEGIN
  -- one or more INSERT INTO statements
  { INSERT INTO|OVERWRITE <select_statement>; }+
END;

3. 提交模式

默认sql-client.sh会提交到standalone集群,如果要提交到yarn,则可以配置初始化文件,比如init.sql,配置set 'execution.target' = 'yarn-per-job'; 然后执行 ./bin/sql-client.sh -i init.sql。则可以以-per-job的方式提交到yarn上。不能设置yarn-application的方式,因为DefaultExecutorServiceLoader里没有相应的实现,SPI里只实现了YarnJobClusterExecutorFactory 和 YarnSessionClusterExecutorFactory。可以去查看,如图:

 

 

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发