摘要: 在消费Kafka中分区的数据时,我们需要跟踪哪些消息是读取过的、哪些是没有读取过的。这是读取消息不丢失的关键所在。Kafka是通过offset顺序读取事件的。如果一个消费者退出,再重启的时候,它知道从哪儿继续读取消息进行处理。所以,消费者需要「提交」属于它们自己的偏移量。如果消费者已经提交了偏移量,但消息没有得到有效处理,此时就会造成消费者消息丢失。所以,我们应该重视偏移量提交的时间点以及提交的方... 阅读全文
posted @ 2020-02-05 21:27 斜杠代码日记 阅读(1615) 评论(0) 推荐(0) 编辑
摘要: Flink中的时间类型和窗口是非常重要概念,是学习Flink必须要掌握的两个知识点。Flink中的时间类型时间类型介绍Flink流式处理中支持不同类型的时间。分为以下几种:处理时间Flink程序执行对应操作的系统时间。所有基于时间的操作(例如:时间窗口)都将使用运行相应operator的系统时间。例如:每个小时的处理时间窗口包括在系统时间范围内所有operator接收到的记录。例如:如果应用程序在... 阅读全文
posted @ 2020-02-05 00:30 斜杠代码日记 阅读(1641) 评论(0) 推荐(0) 编辑
摘要: 每一种数据存储系统,对应有一种存储模型,或者叫存储引擎。我们今天要介绍的是三种比较流行的存储模型,分别是:Hash存储模型B-Tree存储模型LSM存储模型不同存储模型的应用情况1、Hash存储模型redismemcache2、B-Tree存储模型MySQL(以及大多数的关系型数据库)MongoDB3、LSM树存储模型HBaseRocksDB不同存储模型介绍1、Hash存储模型Hash存储模型其实... 阅读全文
posted @ 2020-02-04 20:09 斜杠代码日记 阅读(986) 评论(0) 推荐(0) 编辑
摘要: RocksDB介绍RocksDB简介RocksDB是基于C++语言编写的嵌入式KV存储引擎,它不是一个分布式的DB,而是一个高效、高性能、单点的数据库引擎。它是由Facebook基于Google开源的kv存储LevelDB开发开发。RocksDB使用LSM存储引擎。它针对不同的生产环境进行调优,可以 阅读全文
posted @ 2020-02-03 23:58 斜杠代码日记 阅读(5312) 评论(0) 推荐(0) 编辑
摘要: 什么是流式处理呢?这个问题其实我们大部分时候是没有考虑过的,大多数,我们是把流式处理和实时计算放在一起来说的。我们先来了解下,什么是数据流。数据流(事件流)数据流是无边界数据集的抽象我们之前接触的数据处理,大多都都是有界的。例如:处理某天的数据、某个季度的数据等无界意味着数据是无限地、持续增长的数据流会随着时间的推移,源源不断地加入进来数据流无处不再信息卡交易电商购物快递网络交换机的流向数据设备传... 阅读全文
posted @ 2020-02-03 01:27 斜杠代码日记 阅读(3862) 评论(1) 推荐(0) 编辑
摘要: 运行作业界面在以下界面中,可以查看到作业的名称、作业的启动时间、作业总计运行时长、作业一共有多少个任务、当前正在运行多少个任务、以及作业的当前状态。这里的程序:一共有17个任务,当前正在运行的是17个任务。作业概览界面在这个界面中,我们可以看到数据流图。这个程序中,一共有3个算子。Custom Source任务并行度为1Flat Map任务并行度为8,Flink Map –> Sink任务并行度为... 阅读全文
posted @ 2020-02-01 23:35 斜杠代码日记 阅读(3394) 评论(0) 推荐(0) 编辑
摘要: Spark SQL可以使用JDBC/ODBC或命令行接口充当分布式查询引擎。这种模式,用户或者应用程序可以直接与Spark SQL交互,以运行SQL查询,无需编写任何代码。Spark SQL提供两种方式来运行SQL:通过运行Thrift Server直接执行Spark SQL命令行运行Thrift Server方式1、先运行Hive metastorenohup hive --service me... 阅读全文
posted @ 2020-02-01 22:30 斜杠代码日记 阅读(1482) 评论(0) 推荐(0) 编辑
摘要: 很多时候,我们在IDE中编写Flink代码,我们希望能够查看到Web UI,从而来了解Flink程序的运行情况。按照以下步骤操作即可,亲测有效。1、添加Maven依赖<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink- 阅读全文
posted @ 2020-02-01 00:37 斜杠代码日记 阅读(5820) 评论(1) 推荐(0) 编辑
摘要: 先上代码: public class WordCountKeyedState { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnv 阅读全文
posted @ 2020-02-01 00:26 斜杠代码日记 阅读(805) 评论(3) 推荐(0) 编辑
摘要: 在Flink中的每个函数和运算符都是有状态的。在处理过程中可以用状态来存储数据,这样可以利用状态来构建复杂操作。为了让状态容错,Flink需要设置checkpoint状态。Flink程序是通过checkpoint来保证容错,通过checkpoint机制,Flink可恢复作业的状态和计算位置。chec 阅读全文
posted @ 2020-01-31 23:58 斜杠代码日记 阅读(807) 评论(0) 推荐(0) 编辑