从Dinky聊聊Flink的二次开发

这几天研究了一下Dinky,确实是一款很不错的软件,功能很强大,也很实用,可以极大的方便我们flink sql的开发工作,同时他也支持其他一些主流数据库的SQL,像starrocks。

下面的连接为Dinky的链接:Dinky (dlink.top)

Dinky号称基于Flink二次开发,没有侵入Flink,所以这一点就值得我们学习,为了了解Dinky我自己也搭建了一套Dinky环境,确实使用起来非常舒适 ,搭建过程也是比较容易,下面简单列一下搭建过程。

1.Dinky环境搭建

1. 解压到指定目录

上传安装包并解压:

tar -zxvf dlink-release-0.7.3.tar.gz -C /opt/module/

mv dlink-release-0.7.3 dinky

cd dinky

2. 初始化MySQL数据库

Dinky 采用 mysql 作为后端的存储库,部署需要 MySQL5.7 以上版本,这里我们使用的MySQL是8.0。在 Dinky 根目录 sql 文件夹下分别放置了初始化的dinky.sql文件、升级使用的upgrade/${version}_schema/mysql/ddl 和 dml。如果第一次部署,可以直接将 sql/dinky.sql 文件在 dinky 数据库下执行。(如果之前已经部署,那 upgrade 目录下 存放了各版本的升级 sql ,根据版本号按需执行即可)。

在MySQL中操作如下:

#创建数据库

mysql>

CREATE DATABASE dinky;

#创建用户并允许远程登录

mysql>

create user 'dinky'@'%' IDENTIFIED WITH mysql_native_password by 'dinky';

#授权

mysql>

grant ALL PRIVILEGES ON dinky.* to 'dinky'@'%';

mysql>

flush privileges;

登录创建好的dinky用户,执行初始化sql文件

mysql -udinky -pdinky

mysql>

use dinky;

mysql> source /opt/module/dinky/sql/dinky.sql

3. 修改配置文件

修改 Dinky 连接 mysql 的配置文件。

cd /opt/module/dinky            vim ./config/application.yml

spring:

  datasource:

    url: jdbc:mysql://${MYSQL_ADDR:hadoop102:3306}/${MYSQL_DATABASE:dinky}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true

    username: ${MYSQL_USERNAME:dinky}

    password: ${MYSQL_PASSWORD:dinky}

    driver-class-name: com.mysql.cj.jdbc.Driver

  application:

    name: dinky

  mvc:

    pathmatch:

      matching-strategy: ant_path_matcher

    format:

      date: yyyy-MM-dd HH:mm:ss

    #json格式化全局配置

  jackson:

    time-zone: GMT+8

    date-format: yyyy-MM-dd HH:mm:ss

  main:

    allow-circular-references: true

4. 加载依赖

1)加载Flink依赖

Dinky 需要具备自身的 Flink 环境,该 Flink 环境的实现需要用户自己在 Dinky 根目录下 plugins/flink${FLINK_VERSION} 文件夹并上传相关的 Flink 依赖。当然也可在启动文件中指定 FLINK_HOME,但不建议这样做。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值