bigdatav020——flink
BigDataFlink
yanqi_vip
strove with none, for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
展开
-
CC00001.flink——|Hadoop&Flink.V01|——|Flink.v01|概述特点|什么是Flink|
一、Flink概述:什么是Flink### --- 什么是 Flink~~~ Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。~~~ Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。~~~ Flink起源于2008年柏林理工大学的研究性项目Stratosphere~~~ ...原创 2022-04-13 14:51:00 · 115 阅读 · 0 评论 -
CC00002.flink——|Hadoop&Flink.V02|——|Flink.v02|应用场景|
一、Flink 应用场景### --- Flink应用场景~~~ Flink主要应用于流式数据分析场景~~~ 数据无处不在,绝大多数的企业所采取的处理数据的架构都会划分成两类:~~~ 事务型处理、分析型处理二、事务型处理### --- 事务性处理~~~ OLTP On-Line Transacti...原创 2022-04-13 14:51:00 · 88 阅读 · 0 评论 -
CC00003.flink——|Hadoop&Flink.V03|——|Flink.v03|核心组成|生态发展|
一、Flink 核心组成及生态发展### --- Flink核心组成~~~ # Deploy层:~~~ 可以启动单个JVM,让Flink以Local模式运行~~~ Flink也可以以Standalone 集群模式运行,同时也支持Flink ON YARN,~~~ Flink应用直接提交到YARN上面运行~~~ Flin...原创 2022-04-13 14:51:00 · 88 阅读 · 0 评论 -
CC00004.flink——|Hadoop&Flink.V04|——|Flink.v04|处理模型|流处理批处理|流处理引擎|技术选型|
一、Flink 处理模型:流处理与批处理### --- Flink 专注于无限流处理,有限流处理是无限流处理的一种特殊情况~~~ # 无限流处理:~~~ 输入的数据没有尽头,像水流一样源源不断~~~ 数据处理从当前或者过去的某一个时间 点开始,持续不停地进行~~~ # 有限流处理:~~~ 从某一个时间点开始处理数据,...原创 2022-04-13 14:52:00 · 125 阅读 · 0 评论 -
CC00005.flink——|Hadoop&Flink.V05|——|Flink.v05|快速应用|单词统计案例|批数据|Java版|
一、Flink快速应用### --- Flink快速应用~~~ 通过一个单词统计的案例,快速上手应用Flink,进行流处理(Streaming)和批处理(Batch)二、单词统计案例(批数据)——>Java版### --- 需求~~~ 统计一个文件中各个单词出现的次数,把统计结果输出到文件~~~ # 步骤:~~...原创 2022-04-13 14:53:00 · 91 阅读 · 0 评论 -
CC00006.flink——|Hadoop&Flink.V06|——|Flink.v06|快速应用|单词统计案例|批数据|Scala版|
一、单词统计案例(批数据)——>scala版### --- 需求~~~ 统计一个文件中各个单词出现的次数,把统计结果输出到文件### --- 创建scala资源文件夹~~~ 创建scala资源文件夹并导入scala依赖环境二、编程代码实现### --- 编程代码实现import org.apache.flink.ap...原创 2022-04-13 14:53:00 · 84 阅读 · 0 评论 -
CC00007.flink——|Hadoop&Flink.V07|——|Flink.v07|快速应用|单词统计案例|流数据|Scala版|
一、单词统计案例(流数据)### --- 需求~~~ Socket模拟实时发送单词,使用Flink实时接收数据,~~~ 对指定时间窗口内(如5s)的数据进行聚合统计,每隔1s汇总计算一次,~~~ 并且把时间窗口内计算结果打印出来。二、编程代码实现### --- 代码实现import org.apache.flin...原创 2022-04-13 14:54:00 · 98 阅读 · 0 评论 -
CC00008.flink——|Hadoop&Flink.V08|——|Flink.v08|快速应用|单词统计案例|流数据|Java版|
一、单词统计案例(流数据)### --- 需求~~~ Socket模拟实时发送单词,使用Flink实时接收数据,~~~ 对指定时间窗口内(如5s)的数据进行聚合统计,每隔1s汇总计算一次,~~~ 并且把时间窗口内计算结果打印出来。二、编程代码实现### --- 代码实现package com.yanqi.java...原创 2022-04-13 14:54:00 · 98 阅读 · 0 评论 -
CC00009.flink——|BigDataEnd|
NO:Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ...原创 2022-04-13 14:55:00 · 62 阅读 · 0 评论 -
CC00010.flink——|Hadoop&Flink.V01|——|Flink.v01|体系结构|重要角色|
一、Flink的重要角色### --- Flink的重要角色~~~ # Flink是非常经典的Master/Slave结构实现,JobManager是Master,TaskManager是Slave。~~~ # JobManager处理器(Master)~~~ 协调分布式执行,它们用来调度task,协调检查点(CheckPoint),协调失败时恢复等...原创 2022-04-13 14:55:00 · 110 阅读 · 0 评论 -
CC00011.flink——|Hadoop&Flink.V02|——|Flink.v02|体系结构|运行架构|
一、Flink运行架构:Flink程序结构### --- Flink程序结构~~~ Flink程序的基本构建块是流和转换(请注意,Flink的DataSet API中使用的DataSet也是内部流)。~~~ 从概念上讲,流是(可能永无止境的)数据记录流,而转换是将一个或多个流输入,~~~ 并产生一个或多个输出流。### --- ...原创 2022-04-13 14:56:00 · 91 阅读 · 0 评论 -
CC00012.flink——|Hadoop&Flink.V03|——|Flink.v03|安装部署|StandAlone模式部署|
一、Flink安装和部署### --- Flink支持多种安装模式~~~ local(本地):单机模式,一般本地开发调试使用~~~ StandAlone 独立模式:Flink自带集群,自己管理资源调度,生产环境也会有所应用~~~ Yarn模式:计算资源统一由Hadoop YARN管理,生产环境应用较多二、环境准备工作### --- 基础...原创 2022-04-13 14:56:00 · 197 阅读 · 0 评论 -
CC00013.flink——|Hadoop&Flink.V04|——|Flink.v04|安装部署|StandAlone模式测试|
一、在IDEA下导入打jar插件### --- 将WordCountScalaStream打成jar包~~~ 注意:集群搭建完毕后,Flink程序就可以打成Jar,~~~ 在集群环境下类似于Step7中一样提交执行计算任务打jar包插件:~~~ 该插件可以把包含所有的Flink程序需要的所有的依赖文件,包含scala依赖插件,可以不在环境下部署环境...原创 2022-04-13 14:57:00 · 70 阅读 · 0 评论 -
CC00014.flink——|Hadoop&Flink.V05|——|Flink.v05|安装部署|Flink.Yarn模式部署|
一、Flink.Yarn模式部署### --- 启动一个YARN session(Start a long-running Flink cluster on YARN);~~~ 方式一:yarn session启动~~~ 方式二:per job方式启动二、YARN Session方式:Flink.yarn环境部署### --- 配置环境变量...原创 2022-04-13 14:57:00 · 249 阅读 · 0 评论 -
CC00015.flink——|Hadoop&Flink.V06|——|Flink.v06|安装部署|Flink.Yarn模式部署|Per job方式启动|
一、方式一:Per job方式### --- 方式一:Per job方式~~~ 直接在YARN上提交运行Flink作业(Run a Flink job on YARN)二、Per job启动流程三、Per job方式启动实例### --- 启动一个应用实例~~~ # 启动一个实例[root@hadoop01 ~]# cd /opt/...原创 2022-04-13 14:57:00 · 162 阅读 · 0 评论 -
CC00017.flink——|Hadoop&Flink.V01|——|Flink.v01|API详解|Flink DataStream|
一、Flink常用API详解### --- Flink常用API详解~~~ DataStream API主要分为3块:DataSource、Transformation、Sink~~~ DataSource是程序的数据源输入,~~~ 可以通过StreamExecutionEnvironment.addSource(sourceFuntion)为程序添加...原创 2022-04-13 14:59:00 · 131 阅读 · 0 评论 -
CC00018.flink——|Hadoop&Flink.V02|——|Flink.v02|API详解|Flink DataStream|
一、DataSource基于Socket### --- DataSource基于Socket读取数据流~~~ # socketTextStream从Socket中读取数据,元素可以通过一个分隔符分开二、编程代码实现### --- 编程代码实现package com.yanqi.java;import org.apache.flink.api.com...原创 2022-04-13 14:59:00 · 80 阅读 · 0 评论 -
CC00019.flink——|Hadoop&Flink.V03|——|Flink.v03|API详解|Flink DataStream|
一、DataSource基于集合:fromCollection(Collection)### --- DataSource基于集合:fromCollection(Collection)~~~ # 通过Java的Collection集合创建一个数据流,集合中的所有元素必须是相同类型的如果满足以下条件,~~~ # Flink将数据类型识别为POJO类型(并允许“按名...原创 2022-04-13 14:59:00 · 131 阅读 · 0 评论 -
CC00020.flink——|Hadoop&Flink.V04|——|Flink.v04|API详解|Flink DataStream|
一、[方法一:没有并行度数据源]:编程代码实现:没有并行度数据源### --- 自定义数据源:没有并行度数据源:为非并行源implements SourceFunction,package com.yanqi.streamdatasource;import org.apache.flink.streaming.api.functions.source.SourceFuncti...原创 2022-04-13 15:00:00 · 108 阅读 · 0 评论 -
CC00021.flink——|Hadoop&Flink.V05|——|Flink.v05|API详解|Flink DataStream|
一、DataSource自定义数据源### --- 自定义输入~~~ 可以使用StreamExecutionEnvironment.addSource(sourceFunction)将一个流式数据源加到程序中。~~~ Flink提供了许多预先实现的源函数,但是也可以编写自己的自定义源,~~~ 方法是为非并行源implements SourceFunct...原创 2022-04-13 15:00:00 · 106 阅读 · 0 评论 -
CC00022.flink——|Hadoop&Flink.V06|——|Flink.v06|API详解|Flink DataStream|
一、Flink DataStream常用API:Transformation### --- Transformation~~~ Flink针对DataStream提供了大量的已经实现的算子二、Flink DataStream常用API:Transformation算子### --- Map~~~ DataStream → DataStream...原创 2022-04-13 15:01:00 · 64 阅读 · 0 评论 -
CC00023.flink——|Hadoop&Flink.V07|——|Flink.v07|API详解|Flink DataStream|
一、Flink DataStream常用API:Transformation### --- 编程实现:ConnectDemo.javapackage com.yanqi.streamtransformation;import com.yanqi.streamdatasource.SelfSourceParallel;import com.yanqi.streamdataso...原创 2022-04-13 15:01:00 · 106 阅读 · 0 评论 -
CC00024.flink——|Hadoop&Flink.V08|——|Flink.v08|API详解|Flink DataStream|Sink|
一、DataStream常用API:Sink### --- Sink~~~ # Flink针对DataStream提供了大量的已经实现的数据目的地(Sink),具体如下所示~~~ writeAsText():讲元素以字符串形式逐行写入,这些字符串通过调用每个元素的toString()方法来获取~~~ print()/printToErr():打印每个元...原创 2022-04-13 15:02:00 · 115 阅读 · 0 评论 -
CC00025.flink——|Hadoop&Flink.V09|——|Flink.v09|API详解|Flink DataStream|Sink|
一、导入mysql依赖### --- 在pom.xml文件下写入mysql依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> ...原创 2022-04-13 15:02:00 · 89 阅读 · 0 评论 -
CC00026.flink——|Hadoop&Flink.V10|——|Flink.v10|API详解Flink DataSet|DataSource|
一、Flink DataSet常用API### --- Flink DataSet常用API~~~ DataSet API同DataStream API一样有三个组成部分,各部分作用对应一致,此处不再赘述二、DataSource### --- DataSource~~~ 对DataSet批处理而言,较为频繁的操作是读取HDFS中的文件数据,~...原创 2022-04-13 15:03:00 · 80 阅读 · 0 评论 -
CC00027.flink——|Hadoop&Flink.V11|——|Flink.v11|API详解|Flink Table API|SQL_API|
一、Flink Table API和SQL_API### --- Flink Table API Flink SQL_API~~~ Apache Flink提供了两种顶层的关系型API,分别为Table API和SQL,~~~ Flink通过Table API&SQL实现了批流统一。~~~ 其中Table API是用于Scala和Java的语言...原创 2022-04-13 15:04:00 · 226 阅读 · 0 评论 -
CC00028.flink——|Hadoop&Flink.V12|——|Flink.v12|Flink Windows窗口机制|
一、Flink Window窗口机制### --- Flink Window 背景~~~ Flink认为Batch是Streaming的一个特例,因此Flink底层引擎是一个流式引擎,~~~ 在上面实现了流处理和批处理。而Window就是从Streaming到Batch的桥梁。~~~ 通俗讲,Window是用来对一个无限的流设置一个有限的集合,~~~...原创 2022-04-13 15:04:00 · 245 阅读 · 0 评论 -
CC00029.flink——|Hadoop&Flink.V13|——|Flink.v13|Flink Windows窗口机制|
一、Flink Window窗口机制### --- 时间窗口TumWindow:基于时间驱动~~~ # 场景:~~~ 我们需要统计每一分钟中用户购买的商品的总数,需要将用户的行为事件按每一分钟进行切分,~~~ 这种切分被成为翻滚时间窗口(Tumbling Time Window)二、编程代码实现### --- 编程代码实现pac...原创 2022-04-13 15:05:00 · 118 阅读 · 0 评论 -
CC00030.flink——|Hadoop&Flink.V14|——|Flink.v14|Flink Windows窗口机制|
一、Flink Window窗口机制:时间窗口(TimeWindow)### --- 滚动时间窗口(T目标领Window)基于事件驱动~~~ # 场景:~~~ 当我们想要每100个用户的购买行为作为驱动,那么每当窗口中填满100个”相同”元素了,~~~ 就会对窗口进行计算。二、编程代码实现### --- 编程代码实现package co...原创 2022-04-13 15:05:00 · 139 阅读 · 0 评论 -
CC00031.flink——|Hadoop&Flink.V15|——|Flink.v15|Flink Windows窗口机制|
一、Flink window窗口机制:滑动时间窗口(Sliding Window)### --- Flink window窗口机制:滑动时间窗口(Sliding Window)~~~ 滑动时间窗口Sliding Window### --- 滑动时间窗口说明~~~ 滑动窗口是固定窗口的更广义的一种形式,滑动窗口由固定的窗口长度和滑动间...原创 2022-04-13 15:05:00 · 138 阅读 · 0 评论 -
CC00032.flink——|Hadoop&Flink.V16|——|Flink.v16|Flink Windows窗口机制|
一、Flink Window窗口机制:时间窗口TimeWindow:会话窗口(Session Window)### --- Flink Window窗口机制:时间窗口TimeWindow:会话窗口(Session Window)~~~ 时间窗口TimeWindow:会话窗口(Session Window)### --- 会话窗口说明~~~ ...原创 2022-04-13 15:06:00 · 136 阅读 · 0 评论 -
CC00034.flink——|Hadoop&Flink.V01|——|Flink.v01|Flink Time|Time|数据延迟|参数问题|
一、Flink Time### --- Time~~~ 在Flink的流式处理中,会涉及到时间的不同概念,如下图所示:### --- Flink Time说明~~~ # - EventTime[事件时间]~~~ 事件发生的时间,~~~ 例如:点击网站上的某个链接的时间,~~~ 每一条日志都会记录自己的生...原创 2022-04-13 15:08:00 · 81 阅读 · 0 评论 -
CC00035.flink——|Hadoop&Flink.V02|——|Flink.v02|Flink Time|使用watermark解决|代码实现|
一、watermark案例### --- 实现步骤:~~~ 获取数据源~~~ 转化~~~ 声明水印(watermark)~~~ 分组聚合,调用window的操作~~~ 保存处理结果### --- 注意:~~~ 当使用EventTimeWindow时,所有的Window在EventTime的时间轴上进行划分,~~~...原创 2022-04-13 15:09:00 · 137 阅读 · 0 评论 -
CC00036.flink——|Hadoop&Flink.V03|——|Flink.v03|Flink State|状态原理|原理剖析|状态类型|
一、Flink的State--状态原理及原理剖析### --- Flink的state&状态原理及原理剖析~~~ State:用来保存计算结果或缓存数据。~~~ Sum二、状态类型### --- 状态类型~~~ Flink根据是否需要保存中间结果,把计算分为有状态计算和无状态计算~~~ 有状态计算:依...原创 2022-04-13 15:10:00 · 323 阅读 · 0 评论 -
CC00037.flink——|Hadoop&Flink.V04|——|Flink.v04|Flink State|状态原理|原理剖析|状态描述|
一、状态描述:状态描述流程### --- 状态描述说明~~~ State 既然是暴露给用户的,那么就需要有一些属性需要指定:~~~ state 名称、val serializer、state type info。~~~ 在对应的statebackend中,会去调用对应的create方法获取到stateDescriptor中的值。~~...原创 2022-04-13 15:10:00 · 74 阅读 · 0 评论 -
CC00038.flink——|Hadoop&Flink.V05|——|Flink.v05|Flink State|状态原理|原理剖析|广播状态|
一、广播状态:什么是广播状态?### --- 广播状态说明~~~ 所有并行实例,这些实例将它们维持为状态。不广播另一个流的事件,~~~ 而是将其发送到同一运营商的各个实例,并与广播流的事件一起处理。~~~ 新的广播状态非常适合需要加入低吞吐量和高吞吐量流或需要动态更新其处理逻辑的应用程序。~~~ 我们将使用后一个用例的具体示...原创 2022-04-13 15:11:00 · 113 阅读 · 0 评论 -
CC00039.flink——|Hadoop&Flink.V06|——|Flink.v06|Flink State|状态原理|原理剖析|状态存储|
一、状态存储(扩展)### --- 状态存储~~~ Flink 的一个重要特性就是有状态计算(stateful processing)。~~~ Flink 提供了简单易用的 API 来存储和获取状态。~~~ 但是,我们还是要理解 API 背后的原理,才能更好的使用。### --- State 存储方式:Flink 为 state 提供了三种开...原创 2022-04-13 15:11:00 · 97 阅读 · 0 评论 -
CC00040.flink——|Hadoop&Flink.V07|——|Flink.v07|Flink State|状态原理|原理剖析|状态存储|
一、Keyed State & Operator State### --- state 分类~~~ # Operator State (或者non-keyed state )~~~ 每个 Operator state 绑定一个并行 Operator 实例。~~~ Kafka Connector 是使用 Operator state 的典型示例:...原创 2022-04-13 15:12:00 · 143 阅读 · 0 评论 -
CC00041.flink——|Hadoop&Flink.V08|——|Flink.v08|Flink State|状态原理原理剖析|状态存储|
一、配置 state backend### --- state backend~~~ 我们知道 flink 提供了三个 state backend,那么如何配置使用某个 state backend 呢?~~~ 默认的配置在 conf/flink-conf.yaml 文件中 state.backend 指定,如果没有配置该值,就会使用MemoryStateBack...原创 2022-04-13 15:12:00 · 75 阅读 · 0 评论 -
CC00042.flink——|Hadoop&Flink.V09|——|Flink.v09|Flink State|状态原理|原理剖析|状态存储|
一、开启 checkpoint### --- 开启checkpoint~~~ 开启 checkpoint 后,~~~ state backend 管理的 taskmanager 上的状态数据才会被定期备份到jobmanager 或 外部存储,~~~ 这些状态数据在作业失败恢复时会用到。我们可以通过以下代码开启和配置checkpoint:二...原创 2022-04-13 15:13:00 · 72 阅读 · 0 评论