Flink入门实战
简单api操作
江湖侠客
这个作者很懒,什么都没留下…
展开
-
第 4 节 子模块youfancommon构建与代码编写
上篇:子模块youfanInfoInService构建服务搭建代码编写1、构建步骤子模块youfancommon完整子模块youfancommon代码原创 2020-03-13 23:40:09 · 228 阅读 · 0 评论 -
第 3节 子模块youfanInfoInService构建服务搭建代码编写
上篇:第 2 节 用户画像之flink画像分析模块项目构建1、构建子模块youfanInfoInService(1)构建步骤(2)pom文件添加:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=...原创 2020-03-13 20:14:05 · 251 阅读 · 0 评论 -
第 2 节 用户画像之flink画像分析模块项目构建
上篇:第 1 节 数据来源说明& 还原真实场景表结构定义1、项目构建父工程创建子模块:子模块youfananalySrv,创建ok2、子模块youfananalySrv(1)pom文件添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.o...原创 2020-03-13 16:14:11 · 869 阅读 · 0 评论 -
第 1 节 数据来源说明& 还原真实场景表结构定义
1、项目说明该系统已经上线运行2年,现在稳定运行中,已经帮助企业实现很大的盈利,这套系统是针对亿级数据的用户画像,帮助运行商很好的了解用户,根据这套系统,可以针对性的营销,包括广告,增加用户的粘度,增加系统的趣味度等等,这套系统的商业价值非常高,可以根据企业的真实情况,进行二次开发,便可以在线使用。2、架构图3、静态信息和动态信息说明4、使用mysql的客户端工具sql语句...原创 2020-03-11 22:00:16 · 552 阅读 · 0 评论 -
flink电商实时分析系统 第2节 模拟数据上报代码编写
上篇:flink电商实时分析系统 第1节 springboot 构建上报服务1、在子模块DSInfoservice代码编写(1) 在test文件目录下创建一个DsClienttest类DsClienttest.javapackage com.youfan.test;import java.io.*;import java.net.HttpURLConnection;impo...原创 2020-03-03 21:34:20 · 231 阅读 · 0 评论 -
flink电商实时分析系统 第1节 springboot 构建上报服务
上篇:导读认识Flink框架搭建,如图所示:父工程构建出来了接下来,在父工程中创建springboot项目,构建DSInfoservice子模块并在DSInfoservice子模块,添加引用依赖:pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven...原创 2020-03-03 17:30:50 · 537 阅读 · 0 评论 -
导读认识Flink
1、大数据计算引擎发展的四个阶段第一代Hadoop 承载的 MapReduce第二代持 DAG(有向无环图) 的框架: Tez 、 Oozie,主要还是批处理任务第三代Job 内部的 DAG(有向无环图) 支持(不跨越 Job),以及强调的实时计算:Spark第四代对流计算的支持,以及更一步的实时性:Flink如图表示:2、flink特性(1)高吞吐 ...原创 2020-03-03 16:16:53 · 196 阅读 · 0 评论 -
第4章 Flink 流处理Api
上篇:第三章 Flink部署第四章,自己有道云笔记:Flink运行架构步骤图:1、EnvironmentgetExecutionEnvironment创建一个执行环境,表示当前执行程序的上下文。 如果程序是独立调用的,则此方法返回本地执行环境;如果从命令行客户端调用程序以提交到集群,则此方法返回此集群的执行环境,也就是说,getExecutionEnvironment会根据查询运行的...原创 2020-02-22 22:28:47 · 230 阅读 · 0 评论 -
第3章 Flink部署
上篇:第二章 Flink快速上手1、standalone模式(1)上传发flink安装包到Linux环境中(2)解压文件 flink-1.7.0-bin-hadoop27-scala_2.11.tgz[root@hadoop105 hadoop]# tar -zxvf flink-1.7.0-bin-hadoop27-scala_2.11.tgz -C module/(3)修改...原创 2020-02-22 15:52:48 · 276 阅读 · 0 评论 -
第 2 章 Flink快速上手
上篇:第 1 章 Flink简介1、搭建maven工程 flink(1)工程创建操作步骤,如图工程创建ok原创 2020-02-21 21:23:27 · 202 阅读 · 1 评论 -
第 1 章 Flink简介
1、初识FlinkApache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。Flink起源于Stratosphere项目,Stratosphere是在2010~2014年由3所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014年4月Stratosphere的代码被复制...原创 2020-02-13 13:35:19 · 215 阅读 · 0 评论 -
第 27 节 实战需求分析(数据清洗[实时ETL])
上篇:第 26 节 Flink Kafka-Connector详解应用场景分析数据清洗【实时ETL】数据报表需求分析针对算法产生的日志数据进行清洗拆分1:算法产生的日志数据是嵌套json格式,需要拆分打平2:针对算法中的国家字段进行大区转换3:最后把不同类型的日志数据分别进行存储架构图上代码实际操作(Java)1、创建maven父工程父工程创建ok2、创...原创 2020-03-11 15:42:20 · 920 阅读 · 0 评论 -
第 26 节 Flink Kafka-Connector详解
上篇:第 25 节 Flink 并行度详解(Parallel)1、Kafka-connectorKafka中的partition机制和Flink的并行度机制深度结合Kafka可以作为Flink的source和sink任务失败,通过设置kafka的offset来恢复应用Kafka Consumer消费策略设置2、Kafka Consumer的容错当checkpoint机制开...原创 2020-03-10 16:58:17 · 472 阅读 · 0 评论 -
第 25 节 Flink 并行度详解(Parallel)
上篇:第 24 节 Flink Window详解1、TaskManager与SlotFlink的每个TaskManager为集群提供solt。 solt的数量通常与每个TaskManager节点的可用CPU内核数成比例。一般情况下你的slot数是你每个节点的cpu的核数。2、并行度(Parallel)一个Flink程序由多个任务组成(source、transformation和 s...原创 2020-03-10 11:42:02 · 876 阅读 · 0 评论 -
第 24 节 Flink Window详解
上篇:第 23 节 State Backend(状态的后端存储)之重启策略1、Window(窗口)2、Window的类型3、Window的类型之tumbling windows4、Window的类型之sliding windows5、Window 聚合分类增量聚合全量聚合增量聚合窗口中每进入一条数据,就进行一次计算reduce(reduceFun...原创 2020-03-10 11:31:14 · 182 阅读 · 0 评论 -
第 23 节 State Backend(状态的后端存储)之重启策略
上篇:第 22 节 Flink 状态、恢复、快照1、State Backend(状态的后端存储)2、Restart Strategies(重启策略)3、重启策略之固定间隔 (Fixed delay)4、重启策略之失败率 (Failure rate)5、重启策略之无重启 (No restart)第一种:全局配置 flink-conf.yamlrestart-st...原创 2020-03-10 11:05:55 · 376 阅读 · 0 评论 -
第 22 节 Flink 状态、恢复、快照
上篇:第 21 节 Flink Distributed Cache(分布式缓存)1、Flink 状态(State)管理与恢复(1)状态(State)我们前面写的wordcount的例子,没有包含状态管理。如果一个task在处理过程中挂掉了,那么它在内存中的状态都会丢失,所有的数据都需要重新计算。从容错和消息处理的语义上(atleast once, exactly once),Flink...原创 2020-03-09 22:41:09 · 862 阅读 · 0 评论 -
第 21 节 Flink Distributed Cache(分布式缓存)
上篇:第 20 节 Flink Counters(scala)1、Flink Broadcast和Accumulators的区别Broadcast(广播变量)允许程序员将一个只读的变量缓存在每台机器上,而不用在任务之间传递变量。广播变量可以进行共享,但是不可以进行修改Accumulators(累加器)是可以在不同任务中对同一个变量进行累加操作。2、Flink Distributed...原创 2020-03-09 22:29:16 · 396 阅读 · 0 评论 -
第 20 节 Flink Counters(scala)
上篇:第 19 节 Flink Broadcast广播变量-(scala代码)1、具体代码实现package batchimport org.apache.flink.api.common.accumulators.IntCounterimport org.apache.flink.api.common.functions.RichMapFunctionimport org.apac...原创 2020-03-09 21:19:40 · 200 阅读 · 0 评论 -
第 19 节 Flink Broadcast广播变量-(scala代码)
上篇:第 18 节 DataSet之算子操作(java)1、Flink Broadcast(广播变量)广播变量允许编程人员在每台机器上保持1个只读的缓存变量,而不是传送变量的副本给tasks广播变量创建后,它可以运行在集群中的任何function上,而不需要多次传递给集群节点。另外需要记住,不应该修改广播变量,这样才能确保每个节点获取到的值都是一致的一句话解释,可以理解为是一个公共的共...原创 2020-03-09 20:38:01 · 854 阅读 · 0 评论 -
第 18 节 DataSet之算子操作(java)
上篇:第 17 节 DataStream之partition-scala1、分区基本操作(1)pom文件依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/...原创 2020-03-09 15:56:02 · 482 阅读 · 0 评论 -
第 17 节 DataStream之partition-scala
上篇:第 16 节 DataStream之算子操作(scala语言)1、redis实现sink存储数据基本操作(1)具体代码实现:package xuwei.sinkimport org.apache.flink.streaming.api.scala.StreamExecutionEnvironmentimport org.apache.flink.streaming.connec...原创 2020-03-09 13:20:13 · 200 阅读 · 0 评论 -
第 16 节 DataStream之算子操作(scala语言)
上篇:第 15 节 DataStream之source(scala语言)1、操作实现过滤打印为偶数的数据filter:过滤函数,对传入的数据进行判断,符合条件的数据会被留下具体代码实现:MyNoParallelSource.scalapackage xuwei.streamingimport org.apache.flink.streaming.api.functions.so...原创 2020-03-09 11:56:34 · 816 阅读 · 0 评论 -
第 15 节 DataStream之source(scala语言)
上篇:第 14 节 DataStream之sink(java)1、自定义sink实现自定义的sink实现SinkFunction接口或者继承RichSinkFunction参考org.apache.flink.streaming.connectors.redis.RedisSink2、简单scala入门测试:把定义每个数都累加1具体代码实现:package xuwei....原创 2020-03-09 10:59:55 · 494 阅读 · 0 评论 -
第 14 节 DataStream之sink(java)
上篇:第 13 节 DataStream之partition(java)1、Sink部分详解DataStream API之Data SinkwriteAsText():将元素以字符串形式逐行写入,这些字符串通过调用每个元素的toString()方法来获取print() / printToErr():打印每个元素的toString()方法的值到标准输出或者标准错误输出流中自定义输出ad...原创 2020-03-08 18:28:52 · 1499 阅读 · 0 评论 -
第 13 节 DataStream之partition(java)
上篇:第 12 节 DataStream之算子操作-java1、DataStream API之partitionRandom partitioning:随机分区dataStream.shuffle()Rebalancing:对数据集进行再平衡,重分区,消除数据倾斜dataStream.rebalance()Rescaling:解释见备注dataStream.rescale()C...原创 2020-03-08 14:56:48 · 364 阅读 · 0 评论 -
第 12 节 DataStream之算子操作-java
上篇:第 11 节 DataStream之自定义source1、原创 2020-03-08 12:25:33 · 374 阅读 · 0 评论 -
第 11 节 DataStream之自定义source
上篇:第 10 节 DataStream之source讲解(java)代码编写操作MyNoParalleSource.javapackage xuwei.custormSource;import org.apache.flink.streaming.api.functions.source.SourceFunction;/** * 自定义实现并行度为1的source * ...原创 2020-03-07 18:11:02 · 659 阅读 · 0 评论 -
第 10 节 DataStream之source讲解(java)
上篇:第 9 节 Flink scala shell代码调试Flink API的抽象级别1、DataStream API之Data Sourcessource是程序的数据源输入,你可以通过StreamExecutionEnvironment.addSource(sourceFunction)来为你的程序添加一个source。flink提供了大量的已经实现好的source方法,你也...原创 2020-03-07 16:58:15 · 2563 阅读 · 1 评论 -
第 9 节 Flink scala shell代码调试
上篇:第 8 节 Flinkonyarn集群HA配置1、Flink scala shell代码调试针对初学者,开发的时候容易出错,如果每次都打包进行调试,比较麻烦,并且也不好定位问题,可以在scala shell命令行下进行调试scala shell方式支持流处理和批处理。当启动shell命令行之后,两个不同的ExecutionEnvironments会被自动创建。使用senv(Stre...原创 2020-03-07 16:03:07 · 287 阅读 · 0 评论 -
第 8 节 Flinkonyarn集群HA配置
上篇:第 7 节 Flink standalone集群HA配置1、HA集群环境规划flink on yarn的HA其实是利用yarn自己的恢复机制。在这需要用到zk,主要是因为虽然flink-on-yarnclusterHA依赖于Yarn自己的集群机制,但是FlinkJob在恢复时,需要依赖检查点产生的快照,而这些快照虽然配置在hdfs,但是其元数据信息保存在zookeeper中,所以我们...原创 2020-03-07 15:22:57 · 218 阅读 · 0 评论 -
第 7 节 Flink standalone集群HA配置
上篇:第 6 节 Flink on yarn内部实现1、Flink-HA高可用JobManager 高可用(HA)jobManager协调每个flink任务部署。它负责任务调度和资源管理。默认情况下,每个flink集群只有一个JobManager,这将导致一个单点故障(SPOF):如果JobManager挂了,则不能提交新的任务,并且运行中的程序也会失败。使用JobManager H...原创 2020-03-06 21:57:36 · 350 阅读 · 0 评论 -
第 6 节 Flink on yarn内部实现
上篇:第 5 节 Flink on yarn的两种方式1、Flink 在yarn上的分布Flink on YarnResourceManagerNodeManagerAppMater(jobmanager和它运行在一个Container中)Container(taskmanager运行在上面)使用on-yarn的好处提高集群机器的利用率一套集群,可以执行MR任务,spar...原创 2020-03-06 17:02:14 · 173 阅读 · 0 评论 -
第 5 节 Flink on yarn的两种方式
上篇:第 4 节 Flink standalone集群安装部署原创 2020-03-06 15:56:00 · 335 阅读 · 0 评论 -
第 4 节 Flink standalone集群安装部署
上篇:第 3 节 Flink standalocal集群安装以及集群代码提交执行1、Flink集群安装部署standalone+yarnstandalone模式准备工作:(1)集群节点划分:3台(一主两从)flink105、 flink106、 flink107(2) jdk:1.8以上(3) ssh免密码登陆(至少要实现能够免密码登陆到从节点)(4) 主机名hostname(文...原创 2020-03-06 11:55:59 · 235 阅读 · 0 评论 -
第 3 节 Flink standalocal集群安装以及集群代码提交执行
上篇:第 2 节 batch批处理(scala实现)补充一点:Flink Streaming和Batch的区别:流处理StreamingStreamExecutionEnvironmentDataStreaming批处理BatchExecutionEnvironmentDataSet1、standalone模式集群安装准备环境jdk(1)上传发flink安装包到Li...原创 2020-03-06 11:29:44 · 307 阅读 · 0 评论 -
第 2 节 batch批处理(scala实现)
上篇:第 2 节 batch批处理(java实现)具体代码实现:package xuwei.techimport org.apache.flink.api.scala.ExecutionEnvironmentobject BatchWordCountScala { def main(args: Array[String]): Unit = { //获取文件的内容 ...原创 2020-03-05 18:19:24 · 378 阅读 · 0 评论 -
第 2 节 batch批处理(java实现)
上篇:第 1 节 滑动窗口单词计数(Scala实现)准备文件:自己在d盘下D:\input\file文件下创建a.txt文本其中a.txt文本下编辑的的内容为:hadoopflumesparkhiveflink具体代码实现:package xuwei.tech;import org.apache.flink.api.common.functions.FlatMapFu...原创 2020-03-05 17:50:56 · 1709 阅读 · 0 评论 -
第 1 节 滑动窗口单词计数(Scala实现)
上篇:第 1 节 滑动窗口单词计数(Java实现)具体代码实现:pom文件引入:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...原创 2020-03-05 17:10:07 · 410 阅读 · 0 评论 -
第 1 节 滑动窗口单词计数(Java实现)
上篇:Flink的官网简述flink入门案例wordCount需求分析:手工通过socket实时产生一些单词,使用flink实时接收数据,对指定时间窗口内(例如:2秒)的数据进行聚合统计,并且把时间窗口内计算的结果打印出来1、创建maven工程项目在pom文件添加依赖:<dependencies> <dependency> ...原创 2020-03-05 16:25:26 · 418 阅读 · 0 评论