【大数据之实时计算框架】Flink各种原理及学习思路整理

本文简介

列出了flink需要学习的基本原理框架梗概,适合初学者的学习思路,具体flink要学些什么,可以解决什么问题,
细致的参数设置、脚本提交、API调用还是要参考官网。

截止到目前 flink已经更新到 1.13
1.12版本已经实现了sql的批流统一,和hive有了较好的交互

1.10之前的版本与之后相差较大,尤其是内存模型、flinktable和flinksql部分、提交脚本和参数设置也略有不同

【官网传送】

https://ci.apache.org/

正文!!!

【概述】

【 解决】
更高要求的实时性、大数据准确计算

【特点】

  1. 流处理、低延迟、高吞吐 事件驱动,
  2. ms延迟
  3. 多种窗口类型
  4. 时间语义+watermark机制 可解决数据乱序问题
  5. 状态管理+checkpoint 容灾机制 保证 execatly-once
  6. 7*24

【分层API (3)】

  1. process
  2. datastream/dataset(一般用这个)
  3. table/sql

【和其他框架对比】

  1. sparkstreaming 微批处理、准实时、 s级别、吞吐高、无法处理乱序数据、没有时间语义、窗口单一
  2. strom 快速 ms级别、准确性不高、吞吐不高、无法处理乱序数据

【基本编程模型】

source–transform–sink

【wordcount】

  1. 批处理:(以从文件中获取数据为例)
  //env创环境
     val env = ExecutionEnvironment.getExecutionEnvironment
    // 从文件中读取数据
    val inputPath = "D:\\hello.txt"
    val inputDS: DataSet[String] = env.readTextFile(inputPath)
    // 分词之后,对单词进行groupby分组,然后用sum进行聚合
    val wordCountDS: AggregateDataSet[(String, Int)] = inputDS.flatMap(_.split(" ")).map((_, 1))
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值