Flink
文章平均质量分 85
Flink
做一个有趣的人Zz
天下唯庸人无咎无誉
展开
-
FileBeat + Flume + Kafka + HDFS + Neo4j + Flink + Redis:【案例】三度关系推荐V2.0版本11:项目扩展优化
一、项目中遇到的问题及优化如何保证在Neo4j中维护平台全量粉丝关注数据针对粉丝关注数据我们有两份第一份是历史粉丝关注数据第二份是实时粉丝关注数据如何通过这两份数据实现维护平台全量粉丝关注数据呢?背景是这样的历史粉丝数据是由服务端每天晚上0点的时候定时同步到mysql数据库中的,因为之前平台是把粉丝的关注数据,存储到了redis中,每天晚上定时向mysql中同步一次。实时粉丝数据在准备做这个项目之前通过日志采集工具把这些数据采集到kafka里面了基于此,假设我们是在2026年2月1日那天上原创 2022-03-21 12:34:06 · 651 阅读 · 0 评论 -
Flink11:Spark Streaming
针对Spark Streaming我们主要讲一些基本的使用,因为目前在实时计算领域,Flink的应用场景会更多。一、Spark StreamingSpark Streaming是Spark Core API的一种扩展,它可以用于进行大规模、高吞吐量、容错的实时数据流的处理。但是注意:这个实时属于近实时,最小可以支持秒级别的实时处理。二、SparkStreaming工作原理Spark Streaming的工作原理是这样的:接收实时输入数据流,然后将数据拆分成多个batch,比如每收集1秒的数据封装原创 2022-03-16 00:04:55 · 346 阅读 · 0 评论 -
Flink10:Kafka-Connector:Kafka Consumer的使用、Kafka Producer的使用
Flink 提供了很多Connector组件,其中应用较广泛的就是Kafka这个Connector了,下面我们针对Kafka-Connector在Flink中的应用做详细的分析。一、Kafka-Connector针对Flink的流处理,最常用的组件就是Kafka,原始日志数据产生后会被日志采集工具采集到Kafka中让Flink去处理,处理之后的数据可能也会继续写入到Kafka中,Kafka可以作为Flink的DataSource和DataSink来使用。并且Kafka中的Partition机制和Fli原创 2022-03-16 00:04:11 · 1922 阅读 · 1 评论 -
Flink09:并行度:TaskManager与Slot、并行度的设置、并行度案例分析
一、并行度(Parallel)一个Flink程序由多个组件组成(Source、Transformation和 Sink)。 一个组件由多个并行实例(线程)来执行, 一个组件的并行实例(线程)数目就被称为该组件的并行度。二、TaskManager与SlotFlink的每个TaskManager为集群提供Solt, Solt的数量通常与每个TaskManager节点的可用CPU数量成比例,一般情况下Slot的数量就是每个节点的可用CPU数量。三、并行度的设置Flink任务的并行度可以通过4个层面来原创 2022-03-16 00:02:43 · 1949 阅读 · 0 评论 -
Flink07:Flink中的Window和Time详解
一、Window(窗口)Flink 认为 批处理 是 流处理 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而Window就是从 流处理 到 批处理 的一个桥梁。通常来讲,Window是一种可以把无界数据切割为有界数据块的手段例如,对流中的所有元素进行计数是不可能的,因为通常流是无限的(无界的)。所以,流上的聚合需要由 Window 来划定范围,比如 “计算过去5分钟” 或者 “最后100个元素的和”。window可以是时间驱动的 (Time Window)(比如原创 2022-03-15 00:13:10 · 1071 阅读 · 0 评论 -
Flink06:Flink核心API之Table API和SQL:Table API 和SQL的使用;DataStream、DataSet和Table之间的互相转换
一、Table API & SQL注意:Table API 和 SQL 现在还处于活跃开发阶段,还没有完全实现Flink中所有的特性。不是所有的 [Table API,SQL] 和 [流,批] 的组合都是支持的。Table API和SQL的由来:Flink针对标准的流处理和批处理提供了两种关系型API,Table API和SQL。Table API允许用户以一种很直观的方式进行select 、filter和join操作。Flink SQL基于 Apache Calcite实现标准SQL。针原创 2022-03-15 00:12:58 · 802 阅读 · 0 评论 -
Flink05:Flink核心API之DataSet:DataSource、Transformation、Sink
一、DataSet APIDataSet API主要可以分为3块来分析:DataSource、Transformation、Sink。DataSource是程序的数据源输入。Transformation是具体的操作,它对一个或多个输入数据源进行计算处理,例如map、flatMap、filter等操作。DataSink是程序的输出,它可以把Transformation处理之后的数据输出到指定的存储介质中。二、DataSet API之DataSource针对DataSet批处理而言,其实最多的就是读原创 2022-03-15 00:12:42 · 466 阅读 · 0 评论 -
Flink04:Flink核心API之DataStream:DataSoure、Transformation、DataSink
一、Flink核心APIFlink中提供了4种不同层次的API,每种API在简洁和易表达之间有自己的权衡,适用于不同的场景。目前上面3个会用得比较多。1、低级API(Stateful Stream Processing):提供了对时间和状态的细粒度控制,简洁性和易用性较差,主要应用在一些复杂事件处理逻辑上。2、核心API(DataStream/DataSet API):主要提供了针对流数据和批数据的处理,是对低级API进行了一些封装,提供了filter、sum、max、min等高级函数,简单易用,所原创 2022-03-15 00:12:31 · 550 阅读 · 0 评论 -
Flink03:Flink集群安装部署:Standaone模式、ON YARN模式
Flink支持多种安装部署方式StandaloneON YARNMesos、Kubernetes、AWS…这些安装方式我们主要讲一下standalone和on yarn。如果是一个独立环境的话,可能会用到standalone集群模式。在生产环境下一般还是用on yarn 这种模式比较多,因为这样可以综合利用集群资源。和我们之前讲的spark on yarn是一样的效果这个时候我们的Hadoop集群上面既可以运行MapReduce任务,Spark任务,还可以运行Flink任务,一举三得。一、原创 2022-03-15 00:12:12 · 1565 阅读 · 0 评论 -
Flink02:【案例】流处理和批处理开发
先把Flink的开发环境配置好。创建maven项目:db_flink首先在model中将scala依赖添加进来。然后创建scala目录,因为针对flink我们会使用java和scala两种语言创建包名在src/main/java下创建com.imooc.java在src/main/scala下创建com.imooc.scala接下来在pom.xml中引入flink相关依赖,前面两个是针对java代码的,后面两个是针对scala代码的,最后一个依赖是这对flink1.11这个版本需要添加的原创 2022-03-15 00:11:40 · 606 阅读 · 0 评论 -
Flink01:快速了解Flink:什么是Flink、Flink架构图、Flink三大核心组件、Flink的流处理与批处理、Storm vs SparkStreaming vs Flink
一、什么是FlinkApache Flink 是一个开源的分布式,高性能,高可用,准确的流处理框架。分布式:表示flink程序可以运行在很多台机器上,高性能:表示Flink处理性能比较高高可用:表示flink的稳定性和可用性是比较好的。准确的:表示flink可以保证处理数据的准确性。Flink支持流处理和批处理,虽然我们刚才说了flink是一个流处理框架,但是它也支持批处理。其实对于flink而言,它是一个流处理框架,批处理只是流处理的一个极限特例而已。看一下这张图左边是数据源,从这里面原创 2022-03-15 00:11:27 · 5044 阅读 · 1 评论