大数据发展历程
-
- MapReduce、Hive
-
- DAG:Tez
-
- Spark:分布式流式计算
-
- Flink:流式处理
大数据典型应用架构
大数据框架技术框架
Flink基础认知篇
官网:flink.apache.org
有状态的数据流式计算框架
- 状态的
- 数据流
- 低延迟
- 基于内存的计算
Flink是业界大数据分布式系统框架
- 批/离线计算:batch 有界 静态的数据集
- 流/实时计算:连续 无界 动态的数据集
Flink典型架构与生态工具
Flink生态工具
- Flink: 1.12
- Hadoop: 3.2.2
- Kafka: 2.5.0
- ClickHouse: 21.4.5.46
- Canal:1.1.4
- Redis:5.x
- JDK8
- Maven
学习资源
- 关注官网: xxx.apache.org Apache基金会顶级的项目
- GitHub: github.com/apache/xxx :
- 社区活跃度 :更新/发布频率、start、contributors
- 看单元测试代码和Example 3、flink源码:看单元测试代码和Example
体系化知识
-
- 数据清洗
-
- 基于窗口的新老用户指标统计(操作系统、省份等维护)
-
- 热门分组TopN指标统计
-
- 明细数据并行进行多维度统计分析
-
- 基于CEP完成风控告警
-
- 基于Canal的实时数据同步
- 7.基于Flink的双流Join方案
Flink可以解决的问题
- 基于Flink+CH通用实时解决方案
- Flink保证Exactly-once的定义
- 自定义source、transformattion、Sink算子
- 彻底理解基于Flink的自定义状态管理:难点
- window、watermark、window Function的综合使用
- 引入CH,彻底解决基于Flink API完成多种不同维度统计分析的麻烦点
- 通过自定义CEP的规则模式,抓取出符合规则的数据进行处理
- 实时数仓架构及选型
- 实时数仓的分层模型
Flink与ETL功能的区别
- flink则可以通过api或者udf/udaf/udtf做数据转化等工作
- ETL工具只能做数据传输
常见的部分ETL工具
- kettle:kettle里有不同工具,分别用于ETL的不同阶段。有四大工具。
- sqoop:集成开发环境,提供了一个图形用户界面,用于创建/编辑作业和转换。Sqoon也可以用于执行/调试作业或转换,它也有性能监控的功能。
- Kitchen: 运行作业的命令行工具。作业的命令行运行程序,可以通过Shell脚本来使用。Shell脚本一般通过调度程序,如cron或Windows计划任务,来调度执行。
- Pan : 运行转换的命令行工具,和Kitchen一样通过Shell脚本来使用。
- Carte: 轻量级的(大概1MB)Web服务器,用来远程执行转换或作业。