flink
文章平均质量分 87
个人博客主页:wyn-365.club
Coding路人王
V:CaptainWang365
展开
-
温习大数据框架阿里Flink面试题
1、Flink如何保证精确一次性消费Flink 保证精确一次性消费主要依赖于两种Flink机制1、Checkpoint机制2、二阶段提交机制Checkpoint机制 主要是当Flink开启Checkpoint的时候,会往Source端插入一条barrir,然后这个barrir随着数据流向一直流动,当流入到一个算子的时候,这个算子就开始制作checkpoint,制作的是从barrir来到之前的时候当前算子的状态,将状态写入状态后端当中。然后将barrir往下流动,当流动到keyby 或者sh...原创 2021-11-14 15:35:59 · 426 阅读 · 0 评论 -
温习大数据框架Spark面试题
一、Spark1、你觉得spark 可以完全替代hadoop 么?Spark 会替代 MR,Spark 存储依赖 HDFS,资源调度依赖 YARN,集群管理依赖 Zookeeper。2、Spark消费 Kafka,分布式的情况下,如何保证消息的顺序?Kafka 分布式的单位是 Partition。如何保证消息有序,需要分几个情况讨论。同一个 Partition 用一个 write ahead log 组织,所以可以保证 FIFO 的顺序。不同 Partition 之间不能保证顺序。但是绝大多数原创 2021-11-14 11:08:32 · 863 阅读 · 0 评论 -
Flink与Spark的区别
三、Flink与Spark的区别3.1 设计理念1、Spark的技术理念是使用微批来模拟流的计算,基于Micro-batch,数据流以时间为单位被切分为一个个批次,通过分布式数据集RDD进行批量处理,是一种伪实时。2、Flink是基于事件驱动的,是面向流的处理框架, Flink基于每个事件一行一行地流式处理,是真正的流式计算. 另外他也可以基于流来模拟批进行计算实现批处理。3.2 架构方面1、Spark在运行时的主要角色包括:Master、Worker、Driver、Executor。2、Fli原创 2021-11-14 11:05:28 · 9020 阅读 · 0 评论 -
Flume 读取本地数据输出到 HDFS/Kafka
一、介绍Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据。它具有基于流数据流的简单灵活的体系结构。它具有可调整的可靠性机制以及许多故障转移和恢复机制,具有强大的功能和容错能力。它使用一个简单的可扩展数据模型,允许在线分析应用程序。1.9.0版是Flume的第11版,是Apache顶级项目。Flume 1.9.0是稳定的,可立即投入生产的软件,并且与Flume 1.x代码行的早期版本向后兼容。此版本进行了几个月的积极开发:自1.8.0版以来,已提交了约70个补丁,代表许原创 2020-10-24 09:32:01 · 884 阅读 · 0 评论 -
【Alink-CsvSourceBatchOp】实现网络广告点击预测,实时训练分类模型,实时预测评估
一、数据源在网络广告中,点击率(CTR)是衡量广告效果的一个非常重要的指标。因此,点击预测系统在赞助搜索和实时竞价中具有重要的应用价值。该 Demo 使用 Ftrl 方法实时训练分类模型,并使用模型进行实时预测评估。这里使用Kaggle比赛的CTR数据,链接为:https://www.kaggle.com/c/avazu-ctr-prediction/data由于是压缩数据,需要下载到本地,为了演示方便,我们直接使用oss上存储的一份采样数据。使用TextSourceBatchOp整行读取打印部分数据原创 2020-09-30 19:05:40 · 1046 阅读 · 0 评论 -
【Alink-KMeans】基于Alink算法平台的聚类【Java实现】
一、介绍Alink是基于Flink的通用算法平台。1.1 数据聚类介绍1.可以定义为5组数据类型的特征字段名称:sepal_length double, sepal_width double, petal_length double, petal_width double, category string2.特征字段为petal_width3.聚合类型为category"sepal_length", "sepal_width", "petal_length", "petal_width"原创 2020-09-30 16:28:24 · 954 阅读 · 0 评论 -
【Flink-API】数据交换和Redistribute
在Flink中,是TaskManager而不是task在网络上交换数据.比如,处于同一个TM内的task,他们之间的数据交换是在- -个网络连接(TaskManager 创建并维护)上基于多路复用的。ExecutionGraph:执行图是- -个包含job计算的逻辑的数据结构.它包含节点(ExecutionVertex, 表示计算任务),以及中间结果(IntermnediateResultPartition,表示任务产生的数据).节点通过ExecutionEdge(EE)来连接到它们要消费的中间结果:原创 2020-09-25 09:05:18 · 260 阅读 · 0 评论 -
【Flink-API】Table API & SQL 以及自定义UDF函数
一、 Flink Table API & SQL简介1.1 Table API & SQL的背景Flink虽然已经拥有了强大的DataStream/DataSet API,而且非常的灵活,但是需要熟练使用Eva或Scala的编程Flink编程API编写程序,为了满足流计算和批计算中的各种场景需求,同时降低用户使用门槛,Flink供- -种关系型的API来实现流与批的统一,那么这就是Flink的Table & SQL API。自2015年开始,阿里巴巴开始调研开源流计算引擎,最终原创 2020-09-24 20:41:59 · 483 阅读 · 0 评论 -
【Flink-FlinkUtils】高级自定义封装工具类实现消费kafka数据保存数据到Redis
一、FlinkKafkaToRedis思考一个问题:flink程序运行的时候,我们可以通过神魔样的形式进行传值?1.写死程序传值2.args[0],程序动态传值ParameterTool parameters = ParameterTool.fromPropertiesFile(args[0]);DataStream<String> lines = FlinkUtils.createKafkaStream(parameters,SimpleStringSchema.class);S原创 2020-09-24 10:47:38 · 1348 阅读 · 0 评论 -
【Flink-API】取消Kafka记录偏移量,flink管理偏移量
一、偏移量1.1 取消kafka偏移量默认是使用kafka来管理偏移量,下面我们来取消他的管理机制,使用flink来管理偏移量,开启flink的容错重启机制,还有中间数据state的保存机制。1.开启重启策略2.stateBackend存储位置3.取消任务checkpoint不删除 4.设置checkpoint的 EXACTLY_ONCE 模式5.【重点】取消kafka管理偏移量,让flink来管理偏移量1.2 kafka创建topic如下,两个副本,四个分区bin/kafka-to原创 2020-09-23 21:05:24 · 1476 阅读 · 3 评论 -
【Flink-容错API】重启策略-CheckPoint/StateBackend
一、Flink容错1.1 State状态Flink实时计算为了保证计算过程中,出现异常可以容错,就要中间结果的计算结果存储起来,这些中间数据就叫做State。State时多类型的,默认是保存在JobManger的内存中,也可以保存在TaskManager的本地文件中,也可以保存在本地文件系统或者HDFS这样的分布式文件系统中。1.2 StateBackend用来保存State的存储后端就叫做StateBackend,默认是保存在JobManger的内存中,也可以保存在TaskManager的本地文原创 2020-09-23 17:24:18 · 271 阅读 · 0 评论 -
【Flink-需求】KafkaSource根据经纬度查询高德API关联位置信息
一、需求分析1.KafkaSource根据经纬度查询高德API关联位置信息2.查询一条数据及时没有及时的返回,也可以异步Flink IO1.1 数据样式user001,A1,2020-10-10 10:10:10,1,115.963,39.3659user002,A2,2020-10-10 10:10:10,1,123.544,36.2356user003,A3,2020-10-10 10:10:10,1,123.568,47.3215二、高德地图key准备2.1 进入开发者中心2.2原创 2020-09-23 15:03:22 · 661 阅读 · 0 评论 -
【Flink-需求】RichMapFunction实现活动数据实时计算关联维度信息
一、需求分析1.维度信息,关联mysql数据库查询2.数据为以下格式:user001,A1,2020-09-23 10:10:10,2,北京市user002,A3,2020-09-23 10:10:10,1,上海市user003,A2,2020-09-23 10:10:10,2,苏州市user002,A3,2020-09-23 10:10:10,1,辽宁市user001,A2,2020-09-23 10:10:10,2,北京市user002,A2,2020-09-23 10:10:10,1原创 2020-09-23 11:32:05 · 2314 阅读 · 0 评论 -
【Flink-API】之复习窗口Window
一、Flink时间1.1 概念1.EventTime 时间创建的时间,时间戳描述。2.Ingestion Time 数据进入到Flink的时间3.Processing Time 是每一个执行操作的算子的本地系统时间,与机器相关,默认的时间属性就是Processing Time二、Window简介2.1 Streaming这是一种无界的数据流,不断增长的数据流。2.2 windowwindow 是将一个无线的stream逻辑上拆分成有限大小的 bucket 筒,进行操作。三、Window原创 2020-09-23 10:27:08 · 204 阅读 · 0 评论 -
【Flink-API】之复习一系列Transformation/Sink操作
一、Map1.1 介绍1.DataStream->DataStream 数据集转换。2.数据集合中的元素一一映射的关系。1.2 MapFunctionpublic class Map01 { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironmen原创 2020-09-22 16:50:33 · 364 阅读 · 0 评论 -
【采坑-Flink消费kafka中的数据】阿里云ECS/VMware之zookeeper和kafka单机/集群环境
一、环境1.centos7.62.zookeeper-3.4.53.kafka_2.11-0.10.2.14.jdk1.8_261二、单机-ECS-zookeepertar -zxvf zookeeper-3.4.5 -C /root/apps/cp zoo_simple.cfg zoo.cfg提前创建好数据和目录日志文件夹dataDir=/root/data/zookeeperdataLogDir=/root/data/zookeeperlog三、单机-ECS-kafka3.1原创 2020-09-22 13:34:29 · 1066 阅读 · 0 评论 -
flink
public class StreamWordCount { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<String> lines = env.socketTextStream("47.94.39原创 2020-09-20 15:25:39 · 151 阅读 · 0 评论 -
Flink1.9.1部署整合standalone集群【离线计算DataSet/实时计算DataStream】
一、环境准备1.下载地址:https://flink.apache.org下面那个hadoop的整合包要放到flink的lib中去。2.上传到linux中去,并解压到相关目录tar -zxvf flink-1.9.1-… apps/二、standalone部署2.1 修改conf中的flink-conf.yaml# 1.主节点的主机名jobmanager.rpc.address: hadoop01 # 2.节点的资源槽数taskmanager.numberOfTaskSlots原创 2020-09-19 17:42:28 · 436 阅读 · 0 评论