Code Monkey home page Code Monkey logo

flinktutorial's Introduction

Flink 学习链接 —— 都是干货

麻烦路过的各位亲给这个项目点个 【star】,太不易了,写了这么多,算是对我坚持下来的一种鼓励吧!

在这里插入图片描述


在这里插入图片描述

FlinkTutorial 专注大数据Flink流试处理技术

  • 从数据流向角度分析:数据源Source、转换操作Transformation、下沉Sink
  • 从窗口操作角度分析:countWindowAll、countWindow、timeWindowAll、timeWindow滑动窗口
  • 从实际项目角度分析:与kafka、mysql、redis、http、elasticsearch
  • 从容错分析析:StateBackend、checkpoint

从数据流向角度分析

数据源Source

socket通信、本地创建数据、从磁盘文件、从Kafka消息中间件中读取

转换操作Transformation

  • map: 取一个元素并生产一个元素,一个映射函数
  • flatMap: 取一个元素并产生零个、一个或多个元素
  • filter: 为每个元素评估一个布尔函数,并保留该函数返回true的布尔函数
  • keyBy: 从逻辑上将流划分为不相交的分区,具有相同键的所有记录都分配给同一分区。在内部,keyBy() 是通过哈希分区实现的
  • reduce: 对key-value数据进行“滚动”压缩。将当前元素与最后一个减少的值合并,并发出新值
  • fold: 带有初始值的key-value数据流上的“滚动”折叠。将当前元素与上一个折叠值组合在一起并发出新值
  • Aggregations: 在key-value 数据流上滚动聚合。min和minBy之间的区别是min返回最小值,而minBy返回在此字段中具有最小值的元素(与max和maxBy相同)
    1. sum 求和
    2. min 求最小值 3. max 求最大值 4. minBy
    5. maxBy
  • window: 窗口操作
  • union: 两个或多个数据流的并集,创建一个包含所有流中所有元素的新流。注意:如果将数据流与其自身合并,则在结果流中每个元素将获得两次
  • connect: “连接”两个保留其类型的数据流。连接允许两个流之间共享状态
  • split: 根据某种标准将流分成两个或多个流
  • select: 从拆分流中选择一个或多个流

下沉Sink

  • print
  • addSink
  • writeAsText
  • writeAsCsv

从窗口操作角度分析

  • countWindowAll
  • countWindow
  • timeWindowAll
  • timeWindow滑动窗口

从实际项目角度分析

  • 与kafka对接
  • mysql对接
  • redis对接
  • http对接
  • elasticsearch对接

从容错角度分析

  1. StateBackend

MemoryStateBackend 默认保存到内存中,即检查点保存在JobManager内存中,状态保存在TaskManager内存中 FsStateBackend 可以是磁盘文件"file:\\dir_checkp"; 生产环境是: "hdfs://node-01:8020/user/dev/sqoop/flink_state_backend"
RocksDBStateBackend 将正在运行中的状态数据保存在RocksDB数据库中

  1. Checkpoint

Checkpoint 使Flink 的状态具有良好的容错性,通过checkpoint 机制,Flink 可以对作业和计算位置进行恢复。


Flink 相关的深度技术博客链接

1. Flink —— 什么是Flink?
2. 超全干货--Flink思维导图,花了3周左右编写、校对
3. 大解密:Flink恰巧语义一次消费,怎么保证
4. Flink 容错机制 —— CheckPoint【含示例源码】
5. Flink实战 —— 读取Kafka数据并与MySQL数据关联【附源码】
6. Flink —— StateBackend 状态后端


文章最后,给大家推荐一些受欢迎的技术博客链接:

1. JAVA相关的深度技术博客链接
2. Flink 相关技术博客链接
3. Spark 核心技术链接
4. 设计模式 —— 深度技术博客链接
5. 机器学习 —— 深度技术博客链接
6. Hadoop相关技术博客链接
7. 超全干货--Flink思维导图,花了3周左右编写、校对
8. 深入JAVA 的JVM核心原理解决线上各种故障【附案例】
9. 请谈谈你对volatile的理解?--最近小李子与面试官的一场“硬核较量”
10. 聊聊RPC通信,经常被问到的一道面试题。源码+笔记,包懂
11. 深入聊聊Java 垃圾回收机制【附原理图及调优方法】


欢迎扫描下方的二维码或 搜索 公众号“大数据高级架构师”,我们会有更多、且及时的资料推送给您,欢迎多多交流!

在这里插入图片描述

flinktutorial's People

Contributors

lei-zuquan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.