Dinky项目快速体验指南:从零开始运行FlinkSQL任务

Dinky项目快速体验指南:从零开始运行FlinkSQL任务

dinky Dinky is an out-of-the-box, one-stop, real-time computing platform dedicated to the construction and practice of Unified Streaming & Batch and Unified Data Lake & Data Warehouse. Based on Apache Flink, Dinky provides the ability to connect many big data frameworks including OLAP and Data Lake. dinky 项目地址: https://gitcode.com/gh_mirrors/di/dinky

前言

Dinky是一个基于Apache Flink的实时计算平台,提供了强大的FlinkSQL开发能力和任务管理功能。本文将带领初学者快速体验Dinky的核心功能,通过实际操作感受Dinky为Flink开发带来的便利。

环境准备

Docker方式启动Dinky

目前Dinky v1.0.0的Docker镜像正在开发中,建议关注后续官方发布。当镜像可用时,可以通过以下命令快速启动:

docker run -p 8888:8888 \
 --name dinky dinky/dinky:1.0.3-flink1.17

重要说明

  1. 默认使用H2内存数据库,适合快速体验但不适合生产环境
  2. 生产环境建议配置MySQL或PostgreSQL等外部数据库
  3. 启动后访问地址为http://ip:8081

初始凭据

  • 用户名:dinky
  • 密码:dinky123!@#

第一个FlinkSQL任务实战

创建作业步骤

  1. 登录后进入"数据开发"页面
  2. 在目录区域右键选择"新建作业"
  3. 选择"FlinkSQL"作业类型
  4. 填写作业名称并确认

配置作业参数

在右侧配置面板中:

  • 执行模式:选择Local(本地模式)
  • 并行度:设置为1(初学者建议)

编写示例SQL

输入以下FlinkSQL语句创建测试表并查询:

CREATE TABLE Orders (
    order_number BIGINT,
    price        DECIMAL(32,2),
    buyer        ROW<first_name STRING, last_name STRING>,
    order_time   TIMESTAMP(3)
) WITH (
  'connector' = 'datagen',
  'rows-per-second' = '1',
  'number-of-rows' = '50'
);

SELECT order_number,price,first_name,last_name,order_time FROM Orders;

预览功能使用

点击右上角"预览"按钮,系统将:

  1. 启动本地Flink集群
  2. 执行SQL语句
  3. 在"结果"选项卡中展示查询结果

预览功能特点

  • 仅支持SELECT语句的即时结果查看
  • 适合开发调试阶段验证SQL逻辑
  • 不保留任务状态,关闭即释放资源

完整任务提交流程

编写生产级SQL

修改SQL为包含完整源表和目标表的ETL流程:

-- 创建数据生成源表
CREATE TABLE datagen_source(
  id  BIGINT,
  name STRING
) WITH (
  'connector' = 'datagen'
);

-- 创建数据黑洞接收表
CREATE TABLE blackhole_sink(
   id  BIGINT,
   name STRING
) WITH (
  'connector' = 'blackhole'
);

-- 定义数据处理流程
INSERT INTO blackhole_sink
SELECT id, name FROM datagen_source;

正式提交任务

点击"执行"按钮后:

  1. 任务将提交到配置的执行环境
  2. 系统生成Flink作业ID
  3. 任务进入持续运行状态

任务运维管理

运维中心功能

提交成功后,可进入运维中心:

  1. 查看作业列表及状态
  2. 点击"详情"进入作业监控页

作业详情页功能

详情页提供丰富的信息:

  1. 实时运行状态监控
  2. 任务日志查看
  3. 资源使用情况
  4. Checkpoint信息
  5. 异常报警等

进阶学习建议

通过本快速体验,您已经掌握了Dinky的基本操作流程。为了充分发挥Dinky的强大功能,建议进一步学习:

  1. 多环境管理:配置开发、测试、生产环境
  2. 版本控制:作业的版本管理和回滚
  3. 报警机制:设置任务异常报警
  4. 血缘分析:追踪数据流转过程
  5. 多引擎支持:除Flink外对其他计算引擎的支持

Dinky将持续为实时计算开发提供更便捷、高效的体验,期待您探索更多高级功能。

dinky Dinky is an out-of-the-box, one-stop, real-time computing platform dedicated to the construction and practice of Unified Streaming & Batch and Unified Data Lake & Data Warehouse. Based on Apache Flink, Dinky provides the ability to connect many big data frameworks including OLAP and Data Lake. dinky 项目地址: https://gitcode.com/gh_mirrors/di/dinky

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翟万实Robust

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值