![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flink
文章平均质量分 80
颍天
路漫漫其修远兮吾将上下而求索
展开
-
flink的Watermark 1.12版本的实现方式
watermark以前的实现方式首先需要指定时间为eventTimeenv.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);使用BoundedOutOfOrdernessTimestampExtractor类来生成watermark// 转换成SensorReading类型,分配时间戳和watermarkDataStream<SensorReading> dataStream = inputStream.ma原创 2021-06-07 11:56:25 · 1018 阅读 · 0 评论 -
Flink学习笔记(6)——时间语义与Wartmark及EventTime在Window中的使用
文章目录前言WatermarkWatermark的概念前言上一章我们学习了窗口,理想状态下的流式数据是按照发生的时间先后依次排序输入,下游在消费的时候也是按照时间顺序依次取出。但是在实际生产中,数据往往会因为各种原因而乱序,例如网络抖动、服务器故障之类的。这时候就需要Watermark发挥作用了。WatermarkWatermark的概念watermark是一种衡量Event Time进展的机制,它是数据本身的一个隐藏属性。通常基于Event Time的数据,自身都包含一个timestamp,例如转载 2021-06-07 11:31:05 · 285 阅读 · 0 评论 -
Flink学习笔记(5)——window
文章目录基本概念window类型滚动窗口(Tumbling Windows)滑动窗口(Sliding Windows)会话窗口(Session Windows)window api概述创建不同类型的窗口window function其他api基本概念一般真实的流都是无限的,怎么处理无界的数据?在实际生产中,需要把无限的数据流进行切分,得到有限的数据集进行处理。窗口(window)就是将无限流切割为有界流的一种方式,它会将流数据分发到有限大小的桶中进行分析。window类型flink里提供了时间窗原创 2021-05-28 17:57:58 · 143 阅读 · 0 评论 -
Flink学习笔记(5)——算子
基本转换算子map:输入一条记录,输出一个结果,不允许不输出flatmap:输入一条记录,可以输出0或者多个结果filter:如果结果为真,则仅发出记录package transform;import org.apache.flink.api.common.functions.FilterFunction;import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api原创 2021-05-14 17:26:56 · 237 阅读 · 0 评论 -
Flink获取kafka的offset
前言在工作的时候,一直想知道flink消费kafka的时候怎么去获取offset,以便有时候自己管理offset。在网上找了很多资料也没有找到。研究源码,发现SimpleStringSchema主要是实现了DeserializationSchema,继续深入发现了KeyedDeserializationSchema这个接口。实现方式先写一个kafka的msg的类import lombok.Data;@Datapublic class KafkaMsg { private Stri原创 2021-05-10 18:34:50 · 1773 阅读 · 2 评论 -
Flink学习笔记(4)——source and sink
文章目录前言从集合读取数据从文件读取数据从socket读取数据从kafka读取数据自定义Source前言flink中提供了很多种数据源,有基于本地集合的 source、基于文件的 source、基于网络套接字的 source、自定义的 source。自定义的 source 常见的有 Apache kafka、Amazon Kinesis Streams、RabbitMQ、Twitter Streaming API、Apache NiFi 等,当然你也可以定义自己的 source。Flink 常见的原创 2021-05-10 18:28:49 · 571 阅读 · 0 评论 -
Flink学习笔记(3)——运行时架构中的四大组件|任务提交流程|任务调度原理|Slots和并行度中间的关系|数据流|执行图|数据得传输形式|任务链
前言Flink运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作:作业管理器(JobManager)、资源管理器(ResourceManager)、任务管理器(TaskManager),以及分发器(Dispatcher)。因为Flink是用Java和Scala实现的,所以所有组件都会运行在Java虚拟机上。每个组件的职责如下:作业管理器(JobManager)控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的JobManager 所控制执行。JobManage转载 2021-05-10 16:15:57 · 268 阅读 · 0 评论 -
Flink学习笔记(2)——任务提交模式
文章目录前言Standalone模式yarn模式前言本文介绍flink的任务提交模式。Standalone模式Web UI提交job打开flink的Web UI,在Web UI的Submit New Job提交jar包。Job参数:Entry Class:程序的入口,指定入口类(类的全限制名)Parallelism:任务的并行度 ProgramArguments:程序启动参数,例如–host localhost --port 7777Savepoint Path:手动备份地址原创 2021-04-29 17:03:52 · 1266 阅读 · 0 评论 -
Flink集群搭建教程
文章目录前言下载解压修改配置文件配置flink环境变量(三台主句修改/etc/profile)启动flink集群问题及解决办法前言本次教程使用了三台主机分别是bigdata151、bigdata152、bigdata153。下载按照所需版本下载 比如scala版本 地址:https://flink.apache.org/downloads.html解压上传到服务器,解压。tar -zxvf flink-1.12.2-bin-scala_2.12.tgz修改配置文件进入conf目录下原创 2021-04-29 14:32:45 · 636 阅读 · 0 评论 -
Flink学习笔记(1)——流批处理
文章目录pom文件批处理流处理总结学习flink怎么能少得了wordcount呢?pom文件flink1.0版本及以下<properties> <flink.version>1.10.0</flink.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</原创 2021-04-27 22:43:07 · 149 阅读 · 0 评论 -
写hive到clickhouse的脚本遇到的问题及解决办法
文章目录背景步骤背景最近有个需求,就是需要把hive的数据导入到clickhouse,目前的做法是先用waterdrop把hive的数据导入clickhouse的本地表中,然后再清洗写入分布式表中。手动处理已经是完全可以的,但是想做成定时调度,但是我们这边的大数据集群和clickhouse是分开的,所以需要远程调用执行clickhouse的命令,下面就是我在写脚本的时候遇到的问题以及解决办法,特此记录一下。步骤waterdrop搭建以及导数据到clickhouse可以参考:https://blog.原创 2021-04-23 10:45:26 · 1220 阅读 · 0 评论 -
Spark和Flink的对比,谁才是大数据计算引擎王者?
文章目录简介区别总结简介Spark简介Spark的历史比较悠久,已经发展了很长时间,目前在大数据领域也有了一定的地位.Spark是Apache的一个顶级项目。它是一种快速的、轻量级、基于内存、分布式迭代计算的大数据处理框架。,Spark最初由美国加州伯克利大学(UCBerkeley)的AMP(Algorithms,Machines and People)实验室与2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。2003年加入Apache孵化器项目后的到迅猛转载 2021-04-21 21:56:52 · 676 阅读 · 0 评论