国内文章备用地址(因为github上面 图片效果可能看不到,原因你懂的 哈哈)
https://xie.infoq.cn/article/1af0cb75be056fea788e6c86b
github地址 https://github.com/zhp8341/flink-streaming-platform-web
国内gitee 地址 https://gitee.com/zhuhuipei/flink-streaming-platform-web
flink-streaming-platform-web系统是基于Apache Flink 封装的一个可视化的、轻量级的flink web客户端系统,用户只需在web 界面进行sql配置就能完成流计算任务。
主要功能:包含任务配置、启/停任务、告警、日志等功能,支持sql语法提示,格式化、sql语句校验。
目的:减少开发、降低成本 完全实现sql化 流计算任务。 😂
该项目获得 Flink Forward Asia Hackathon (2021) 季军
- [1] 任务支持单流 、双流、 单流与维表等。
- [2] 支持本地模式、yarn-per模式、STANDALONE模式。
- [3] 支持catalog、hive。
- [4] 支持自定义udf、连接器等,完全兼容官方连接器。
- [5] 支持sql的在线开发,语法提示,格式化。
- [6] 支持钉钉告警、自定义回调告警、自动拉起任务。
- [7] 支持自定义Jar提交任务。
- [8] 支持多版本flink版本(需要用户编译对应flink版本)。
- [9] 支持自动、手动savepoint备份,并且从savepoint恢复任务。
- [10] 支持批任务如:hive。
目前flink版本已经升级到1.13.2
如果您觉得还不错请在右上角点一下star 谢谢 🙏 大家的支持是开源最大动力
2、 源码讲解文档
1、 Flink 和 flink-streaming-platform-web 安装部署
2、 在IDEA中执行运行调试
4、flink-streaming-platform-web 体验(基于docker)适合体验者
3、demo3 kafka和mysql维表实时关联写入mysql 参考
请使用下面的sql进行环境测试 用于新用户跑一个hello word 对平台有个感知的认识
CREATE TABLE source_table (
f0 INT,
f1 INT,
f2 STRING
) WITH (
'connector' = 'datagen',
'rows-per-second'='5'
);
CREATE TABLE print_table (
f0 INT,
f1 INT,
f2 STRING
) WITH (
'connector' = 'print'
);
insert into print_table select f0,f1,f2 from source_table;
官方相关连接器下载
请移步 https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/overview/
支持的sql语法 |
---|
INSERT INTO |
INSERT OVERWRITE |
CREATE TABLE |
CREATE FUNCTION |
CREATE VIEW |
USE CATALOG |
DROP |
ALTER |
SHOW CATALOGS |
SHOW DATABASES |
SHOW TABLES |
SHOW FUNCTIONS |
CREATE CATALOG |
SET |
SELECT (不支持) |
1、由于hadoop集群环境不一样可能导致部署出现困难,整个搭建比较耗时.
2、由于es 、hbase等版本不一样可能需要下载源码重新选择对应版本 源码地址 https://github.com/zhp8341/flink-streaming-platform-web
交流和解答
钉钉 http://img.ccblog.cn/flink/dd2.png
微信二维码 http://img.ccblog.cn/flink/wx2.png
完全按照flink1.13.2的连接器相关的配置详见
https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/kafka/
如果需要使用到连接器请去官方下载 如:kafka 连接器 https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/kafka/
第一种下载连接器后直接放到 flink/lib/目录下就可以使用了
1、该方案存在jar冲突可能,特别是连接器多了以后
2、在非yarn模式下每次新增jar需要重启flink集群服务器
第二种放到http的服务下填写到三方地址
公司内部建议放到内网的某个http服务
http://ccblog.cn/jars/flink-connector-jdbc_2.11-1.12.0.jar
http://ccblog.cn/jars/flink-sql-connector-kafka_2.11-1.12.0.jar
http://ccblog.cn/jars/flink-streaming-udf.jar
http://ccblog.cn/jars/mysql-connector-java-5.1.25.jar
多个url使用换行
自定义连接器打包的时候需要打成shade 并且解决jar的冲突
个人建议使用第二种方式,每个任务之间jar独立,如果把所有连接器放到lib 可能会和其他任务的jar冲突 公用的可以放到flink/lib目录里面 如:mysql驱动 kafka连接器等
1、 可能遇到的问题和解决方案
1、支持多版本flink
2、 完善文档 (持续过程)
3、UI
请加钉钉群: 34315096
钉钉 钉钉二维码
http://img.ccblog.cn/flink/dd2.png
2021-03-18 和 2021-03-19 两天 做的调研
感谢文香炯(湖南草花互动科技股份公司)贡献前端代码 :https://gitee.com/wenxiangjiong/flink-streaming-platform-web.git