当前位置: 首页 > news >正文

Flink流水线+Gravitino+Paimon集成

1.数据源管理

1.1 添加Gravitino数据源

添加成功之后,会在Gravitino中创建一个名为配置的中的meatalake

1.2. 添加Paimon数据源

属性gravitinoId可以关联前面创建的Gravitino数据源,关联后,会在gravitino下创建一个该数据源的catalog

2. 集成演示

2.1 创建任务

  • 入口:通过顶部菜单栏选择 任务开发,或通过快捷入口 快速创建任务

  • 任务类型:选择 FlinkPipeline

2.2 配置任务

点击任务名称,进入任务详情页。任务节点如下

功能说明:

使用DataGen节点生成100条测试数据,使用JDBCWrite将数据写入mysql的user表,再通过JDBCRead读取mysql的user表,使用SQLExecute写入到Paimon。通过SQLQuery读取Paimon,最后通过ShowData节点输入读取的数据。

{"flow": {"engineType": "flink","name": "flink_gravition_paimon","paths": [{"from": "Gravitino_tuky5","inport": "","outport": "","to": "DataGen_r6QRQ"},{"from": "DataGen_r6QRQ","inport": "","outport": "","to": "JDBCWrite__yYGc"},{"from": "JDBCWrite__yYGc","inport": "","outport": "","to": "JDBCRead_WREvh"},{"from": "JDBCRead_WREvh","inport": "","outport": "","to": "SQLExecute_bMeVm"},{"from": "SQLExecute_bMeVm","inport": "","outport": "","to": "SQLQuery_8jwT7"},{"from": "SQLQuery_8jwT7","inport": "","outport": "","to": "ShowData_aMIL3"}],"runMode": "DEBUG","stops": [{"bundle": "cn.piflow.bundle.flink.catalog.Gravitino","customizedProperties": {},"name": "Gravitino_tuky5","properties": {"gravitinoUri": "http://127.0.0.1:8092/","metalake": "metalake"},"uuid": "Gravitino_tuky5"},{"bundle": "cn.piflow.bundle.flink.common.DataGen","customizedProperties": {},"name": "DataGen_r6QRQ","properties": {"count": "100","ratio": "10","registerTableName": "datagen_source","schema": "[{\"id\":\"323868\",\"filedName\":\"id\",\"filedType\":\"INT\",\"kind\":\"sequence\",\"start\":\"1\",\"end\":\"1000\"},{\"id\":\"479324\",\"filedName\":\"name\",\"filedType\":\"STRING\",\"kind\":\"random\",\"length\":\"5\",\"index\":1}]"},"uuid": "DataGen_r6QRQ"},{"bundle": "cn.piflow.bundle.flink.jdbc.JDBCWrite","customizedProperties": {},"name": "JDBCWrite__yYGc","properties": {"driver": "com.mysql.jdbc.Driver","password": "123456","properties": "{}","tableDefinition": "{\"tableBaseInfo\":{},\"physicalColumnDefinition\":[{\"columnName\":\"id\",\"columnType\":\"INT\",\"length\":null,\"precision\":null,\"scale\":null,\"nullable\":false,\"primaryKey\":false,\"partitionKey\":false,\"comment\":\"\"},{\"columnName\":\"name\",\"columnType\":\"STRING\",\"length\":null,\"precision\":null,\"scale\":null,\"nullable\":false,\"primaryKey\":false,\"partitionKey\":false,\"comment\":\"\"}],\"metadataColumnDefinition\":[],\"computedColumnDefinition\":[],\"watermarkDefinition\":{}}","tableName": "user","url": "jdbc:mysql://127.0.0.1:3306/test2?characterEncoding=utf8&autoReconnect=true&tinyInt1isBit=false&serverTimezone=Asia/Shanghai","username": "root"},"uuid": "JDBCWrite__yYGc"},{"bundle": "cn.piflow.bundle.flink.jdbc.JDBCRead","customizedProperties": {},"name": "JDBCRead_WREvh","properties": {"driver": "com.mysql.jdbc.Driver","fetchSize": "10","password": "123456","properties": "{}","tableDefinition": "{\"tableBaseInfo\":{\"catalogName\":\"\",\"dbname\":\"\",\"schema\":\"\",\"registerTableName\":\"t_user_source\",\"registerTableComment\":\"\",\"ifNotExists\":true,\"selectStatement\":\"\",\"likeStatement\":\"\"},\"physicalColumnDefinition\":[{\"columnName\":\"id\",\"columnType\":\"INT\",\"length\":null,\"precision\":null,\"scale\":null,\"nullable\":false,\"primaryKey\":false,\"partitionKey\":false,\"comment\":\"\"},{\"columnName\":\"name\",\"columnType\":\"STRING\",\"length\":null,\"precision\":null,\"scale\":null,\"nullable\":false,\"primaryKey\":false,\"partitionKey\":false,\"comment\":\"\"}],\"metadataColumnDefinition\":[],\"computedColumnDefinition\":[],\"watermarkDefinition\":{}}","tableName": "user","url": "jdbc:mysql://127.0.0.1:3306/test2?characterEncoding=utf8&autoReconnect=true&tinyInt1isBit=false&serverTimezone=Asia/Shanghai","username": "root","useTableEnv": "true"},"uuid": "JDBCRead_WREvh"},{"bundle": "cn.piflow.bundle.flink.common.SQLQuery","customizedProperties": {},"name": "SQLQuery_8jwT7","properties": {"registerResultViewName": "","registerSourceViewName": "","sql": "select id, name from paimon.test.t_user","useTableEnv": "true"},"uuid": "SQLQuery_8jwT7"},{"bundle": "cn.piflow.bundle.flink.common.SQLExecute","customizedProperties": {},"name": "SQLExecute_bMeVm","properties": {"sql": "create table if not exists paimon.test.t_user (\r\n id int,\r\n name string\r\n);\r\n\r\ninsert into paimon.test.t_user  select * from t_user_source;","useTableEnv": "true"},"uuid": "SQLExecute_bMeVm"},{"bundle": "cn.piflow.bundle.flink.common.ShowData","customizedProperties": {},"name": "ShowData_aMIL3","properties": {"changeLog": "false","showNumber": "100"},"uuid": "ShowData_aMIL3"}],"uuid": "111"}
}

2.3 运行任务

  • 点击 运行 按钮启动任务。

🔗 平台体验地址:DataStudio (http://1.94.182.15:8090)

http://www.lryc.cn/news/573212.html

相关文章:

  • 5.2 Qt Creator 使用FFmpeg库
  • ffmpeg(六):图片与视频互转命令
  • 项目练习:Jaspersoft Studio制作PDF报表时,detail和column footer之间存在很大的空白区
  • VR油库虚拟仿真系统:开启智慧油库新时代
  • 广州华锐互动:以技术创新引领虚拟现实体验新高度
  • 蚂蚁百宝箱快速创建智能体AI小程序
  • 【Node】最佳Node.js后端开发模板推荐
  • win环境使用openssl创建p12证书
  • 18年磨一剑!开利科技启动数字化增量投资新时代
  • 软件工程概述:核心概念、模型与方法全解析
  • (详细介绍)线性代数中的零空间(Null Space)
  • Java、PHP、C++ 三种语言实现爬虫的核心技术对比与示例
  • Mac电脑-触摸板增强工具-BetterTouchTool
  • Sublime text启用vim
  • Science Advances:皮肤附着触觉贴片,实现多功能和增强的触觉交互
  • 【Docker基础】Docker镜像管理:docker pull详解
  • Cursor汉化
  • Tesla T4 安装 Audio2face
  • 大模型在急性弥漫性腹膜炎预测及治疗方案制定中的应用研究
  • 一站式了解责任链模式
  • Taro 跨端应用性能优化全攻略:从原理到实践
  • 抖音的视频怎么下载下来——下载狗解析工具
  • 【StarRocks系列】StarRocks vs Mysql
  • 【StarRocks系列】join查询优化
  • 【软考高级系统架构论文】论软件设计方法及其应用
  • 【软考高级系统架构论文】论NoSQL数据库技术及其应用
  • springboot通过独立事务管理器实现资源隔离与精准控制​
  • 基于Python、tkinter、sqlite3 和matplotlib的校园书店管理系统
  • AI大模型学习之基础数学:微积分在AI大模型中的核心-梯度与优化(梯度下降)详解
  • ZooKeeper 3.9.2 集群安装指南