Flink 学习笔记 (1) - Flink+ClickHouse学习概述

118 阅读2分钟

大数据发展历程

    1. MapReduce、Hive
    1. DAG:Tez
    1. Spark:分布式流式计算
    1. Flink:流式处理

大数据典型应用架构

典型应用

大数据框架技术框架

image.png

Flink基础认知篇

官网:flink.apache.org 有状态的数据流式计算框架

  • 状态的
  • 数据流
  • 低延迟
  • 基于内存的计算

Flink是业界大数据分布式系统框架

  • 批/离线计算:batch 有界 静态的数据集
  • 流/实时计算:连续 无界 动态的数据集

Flink典型架构与生态工具

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

学习资源

  1. 关注官网: xxx.apache.org Apache基金会顶级的项目
  2. GitHub: github.com/apache/xxx :
    • 社区活跃度 :更新/发布频率、start、contributors
    • 看单元测试代码和Example 3、flink源码:看单元测试代码和Example

体系化知识

    1. 数据清洗
    1. 基于窗口的新老用户指标统计(操作系统、省份等维护)
    1. 热门分组TopN指标统计
    1. 明细数据并行进行多维度统计分析
    1. 基于CEP完成风控告警
    1. 基于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服务器,用来远程执行转换或作业。