flink 1.5.0学习笔记1之Local WordCount与源码解析

本文介绍 Apache Flink 1.5.0 的核心特性与架构,包括其支持的流式与批处理计算模型,以及 LocalWordCount 示例的源码解析流程。Flink 是一款用于分布式数据流处理的高性能框架,能够实现低延迟、exactly-once 一致性的复杂计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考

Flink程序的基础构建模块是 流(streams) 与 转换(transformations)

分布式、高性能、高可用、高精确的数据流应用而生的开源流式处理框架
低延迟、exactly once、流和批统一的,能够支撑足够大体量的复杂计算的引擎

无穷数据集:无穷的持续集成的数据集合
有界数据集:有限不会改变的数据集合

流式:只要数据一直在产生,计算就持续地进行
批处理:在预先定义的时间内运行计算,当完成时释放计算机资源

Flink 是基于直观地去处理无穷数据集的流式运算模型
Flink保证状态化计算强一致性/Flink支持流式计算和带有事件时间语义的视窗/
Flink能满足高并发和低延迟(计算大量数据很快)/

示例代码

主要概念

flink分层

  • 部署层—-支持local/standalone/cloud
  • 运行层—-基本使用scala编写,分布式数据流支持
  • api层,批与流—-DataSet/DataStream
  • flink client 程序—-提交JobGraph
  • flink JobManager—-接收JobGraph,进行任务分配给TaskManager
  • flink TaskManager—-执行TaskManager

以批处理WordCount的Local模式为例,简述源码流程

  • ExecutionEnvironment.getExecutionEnvironment—-根据配置,创建LocalEnvironment
  • 当未进行input/output参数传递时,进入org.apache.flink.api.java.DataSet#print
    • org.apache.flink.api.java.DataSet#collect
    • org.apache.flink.api.java.ExecutionEnvironment#execute
    • org.apache.flink.api.java.LocalEnvironment#execute
      • org.apache.flink.api.java.ExecutionEnvironment#createProgramPlan—-创建执行计划,使用translator.translateToPlan进行操作转换
        • org.apache.flink.api.java.operators.OperatorTranslation#translate—-进行各种操作的转换,封装用户自定义的function
          • eg:—->org.apache.flink.api.java.operators.FilterOperator#translateToDataFlow
      • executor.executePlan—-执行转换的计划
        • org.apache.flink.client.LocalExecutor#executePlan
          • org.apache.flink.client.LocalExecutor#start
          • org.apache.flink.client.LocalExecutor#createJobExecutorService
            • org.apache.flink.runtime.minicluster.MiniCluster#start—-创建local集群,创建相关的支撑服务
              • org.apache.flink.runtime.rpc.RpcService—-创建jobManagerRpcService/taskManagerRpcServices/resourceManagerRpcService的rpc服务
              • org.apache.flink.runtime.rest.RestServerEndpoint#start—-创建分发rest服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值