Back to Flink Learning

README

flink-learning-project/flink-learning-project-real-time-computing-platform/README.md

latest1.6 KB
Original Source

本模块展示了如何使用 Flink SQL 和 Table API 构建实时计算平台,是数据分析师和平台开发者的参考实现。

核心功能

1. FlinkSqlPlatformJob - Flink SQL 方式

  • DDL 建表:通过 SQL DDL 定义 Kafka Source/Sink 表
  • Watermark 定义:在 DDL 中声明 Watermark 策略
  • TUMBLE 窗口:SQL 中的滚动窗口聚合
  • COUNT DISTINCT:SQL 中的 UV 去重
  • INSERT INTO:SQL 数据写入

2. TableApiExampleJob - Table API 编程方式

  • 流表转换:DataStream ↔ Table 互相转换
  • 编程查询:filter、select、groupBy、window
  • Changelog 流:动态表转回 DataStream
特性Flink SQLTable API
使用方式纯 SQL 字符串Java/Scala 编程
适用人群数据分析师平台开发者
灵活性中等
可调试性
动态提交容易较难
知识点说明所在类
StreamTableEnvironment流表桥接环境全部
SQL DDL用 SQL 定义表结构和连接器FlinkSqlPlatformJob
Kafka Connector DDLSQL 中配置 Kafka 连接器FlinkSqlPlatformJob
TUMBLE WindowSQL 滚动窗口函数FlinkSqlPlatformJob
COUNT DISTINCTSQL UV 去重FlinkSqlPlatformJob
fromDataStreamDataStream 转 TableTableApiExampleJob
toChangelogStreamTable 转 DataStreamTableApiExampleJob
Expression API$("field") 字段引用TableApiExampleJob