![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
大数据相关
文章平均质量分 93
包含常见大数据组件如Hadoop、Hbase、Flink等原理解析,更有部分源码学习分享
oahaijgnahz
大数据开发
展开
-
分布式理论与ZooKeeper相关概念
分布式理论与ZooKeeper相关概念文章目录分布式理论与ZooKeeper相关概念一、分布式系统与CAP、BASE理论1.1 分布式系统和集群1.2 CAP理论1.3 BASE理论二、分布式一致性协议2.1 2PC和3PC2.2 Paxos算法三、ZAB——ZooKeeper的分布式一致性协议3.1 ZAB协议原理Java、大数据开发学习要点(持续更新中…)一、分布式系统与CAP、BASE理论1.1 分布式系统和集群 分布式是指通过网络连接的多个组件,通过交换信息协作而形成的系统。而集群原创 2021-06-04 21:32:17 · 245 阅读 · 3 评论 -
五千字让你了解的Kafka重点原理
Kafka原理解析文章目录Kafka原理解析一、什么是消息队列?什么是Kafka?1.1 消息队列1.2 Kafka概念与基础架构二、Kafka架构深入!!2.1 Kafka存储模型2.2 Kafka Producer2.2.1 数据分区2.2.2 数据可靠性保证2.2.3 Exactly-Once语义2.2.4 Producer数据提交流程2.3 Kafka Consumer2.3.1 消费模式2.3.2 分区分配策略2.3.3 offset维护2.4 Kafka高效读写的保证~2.5 Kafka如何原创 2021-05-29 21:52:48 · 611 阅读 · 0 评论 -
HBase万字详细原理解析
HBase超详细原理文章目录HBase超详细原理一、HBase数据模型1.1 逻辑视图与物理视图1.2 多维稀疏排序MapJava、大数据开发学习要点(持续更新中…)一、HBase数据模型 从逻辑视图来看。HBase中的数据是以 表 形式进行组织的,和关系型数据库中的表相同,HBase中的表也由行和列构成。但从物理视图来看,HBase是一个Map,由键值对(K,V)构成,不过与传统的Map不同的是HBase是一个稀疏的、分布式的、多维排序的Map。1.1 逻辑视图与物理视图首先看HBas原创 2021-05-26 15:22:43 · 892 阅读 · 0 评论 -
OLAP与ClickHouse基础篇
OLAP与ClickHouse基础知识文章目录OLAP与ClickHouse基础知识一、OLAP二、ClickHouse的特点2.1 MPP架构的列式存储数据库2.2 ClickHouse的表引擎MergeTree2.3 CK的不适用场景一、OLAP联机分析处理(OLAP)是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多原创 2021-08-06 16:00:46 · 349 阅读 · 0 评论 -
Flink原理学习(六)窗口和时间
Flink原理学习之 窗口和时间文章目录Flink原理学习之 窗口和时间一、Flink的时间类型二、Watermark三、Flink窗口机制Java、大数据开发学习要点(持续更新中…)一、Flink的时间类型Flink的时间语义分为三种:Event Time:即事件时间,是事件真正发生的时间,一旦确定就不会发生变化。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink通过时间戳分配器访问事件时间戳。Processing Time:即处理时间,是原创 2021-06-12 16:26:10 · 1149 阅读 · 2 评论 -
Hive与优化方法
Hive与优化方法文章目录Hive与优化方法一、Hive概念二、Hive架构三、Hive与数据库的比较四、Hive中一些重要的概念4.1 内部表和外部表4.2 分区表4.3 Hive排序关键字4.4 Hive分桶4.5 三种排序窗函数的区别五、Hive调优5.1 部分场景下尽可能避免启用MR5.2 表的优化5.3 数据倾斜优化5.3 其他优化Java、大数据开发学习要点(持续更新中…)一、Hive概念 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供原创 2021-06-11 17:00:05 · 1255 阅读 · 3 评论 -
Flink原理学习(五)状态
Flink原理学习之 状态文章目录Flink原理学习之 状态一、Flink的状态二、Flink自身容错——checkpoint机制三、Flink端到端一致性保证Java、大数据开发学习要点(持续更新中…)一、Flink的状态 状态在Flink中叫做State,用来保存中间计算结果或者缓存数据。State是实现有状态的计算下Exactly-Once的基础。状态主要分为两种类型:Operator State:跟一个特定算子的实例绑定,整个算子只对应一个State对象(相同的并行算子都能原创 2021-06-09 11:29:40 · 2434 阅读 · 0 评论 -
Flink内核原理学习(四)内存模型
Flink内核原理学习之 内存模型文章目录Flink内核原理学习之 内存模型一、JVM内存管理的缺点二、TaskManager内存模型三、内存数据结构四、网络传输中的内存管理4.1 网络IO内存管理4.2 反压机制Java、大数据开发学习要点(持续更新中…)一、JVM内存管理的缺点 目前,大数据计算引擎主要用 Java 或是基于 JVM 的编程语言实现的,Java 语言的好处在于程序员不需要太关注底层内存资源的管理,但同样会面临一个问题,就是如何在内存中存储大量的数据 (包括缓存和高效处理)原创 2021-05-18 17:26:55 · 1231 阅读 · 0 评论 -
Flink内核原理学习(三)任务调度流程
Flink内核原理学习之 任务调度流程文章目录Flink内核原理学习之 任务调度流程一、Flink中Gragh的概念1.1各类Gragh概念1.2 Gragh细节与转换过程Java、大数据开发学习要点(持续更新中…)一、Flink中Gragh的概念1.1各类Gragh概念 Flink 中的执行图可以分成四层: StreamGraph -> JobGraph -> ExecutionGraph -> 物理执行图。StreamGraph: 根据用户通过 StreamAPI原创 2021-05-17 19:30:21 · 1284 阅读 · 2 评论 -
Flink内核原理学习(二)组件通信RPC
Flink内核原理学习之任务提交流程文章目录Flink内核原理学习之任务提交流程一、Akka与Actor模型二、RPC消息类型三、Flink通信组件3.1 RpcGateway3.2 RpcEndpoint3.3 RpcService与RpcServer3.4 AkkaRpcActor四、PRC交互过程Java、大数据开发学习要点(持续更新中…)一、Akka与Actor模型 Akka是用于开发并发、容错和可伸缩应用的框架(常用于RPC通信框架),是Actor模型的实现。每个Actor都是独立原创 2021-05-14 16:11:58 · 1371 阅读 · 0 评论 -
Flink内核原理学习(一)任务提交流程
Flink内核原理学习之文章目录Flink内核原理学习之Java、大数据开发学习要点(持续更新中…)原创 2021-05-12 15:43:40 · 1432 阅读 · 0 评论 -
Flink规则引擎实践分享
Flink规则引擎实践分享文章目录Flink规则引擎实践分享一、实时规则引擎架构***二、规则抽象模型三、规则、条件查询封装**3.1规则封装3.2 查询规则封装四、使用ClickHouse来存放明细并实现查询服务支持4.1 ClickHouse从Kafka摄取数据4.2 ClickHouse查询服务中的sql设计**4.3 ClickHouse查询时间跨度问题与解决**4.4 查询路由模块**五、项目中优化的点5.1 规则匹配方式优化5.2 行为明细规则匹配查询CK并发过高的解决方案Java、大数原创 2021-04-28 17:16:39 · 3776 阅读 · 0 评论 -
Flink实时数据处理实践经验(Flink去重、维表关联、定时器、双流join)
Flink实时数据处理实践经验文章目录Flink实时数据处理实践经验1. 数据输入与预处理2. 实时数据处理3. 实时数仓架构4. 优化方案Java、大数据开发学习要点(持续更新中…)首先需要知道的一些知识:Flink中所说的UDF在官方文档中定义为用户自己通过继承类或实现接口的自定义类、已有方法中传入匿名内部类、在已有函数中用Lambda表达式。Flink实现结果实时展示(一些简单的分组聚合逻辑)可以直接在流中分组聚合写入Redis/MySQL,而需要在线实时多维分析需要将数据存入Cl原创 2021-04-17 15:57:26 · 6235 阅读 · 2 评论 -
数据仓库理论与实践
数据仓库理论与实践文章目录数据仓库理论与实践一、数仓理论1.1 数据库和数据仓库的区别Java、大数据开发学习要点(持续更新中…)一、数仓理论1.1 数据库和数据仓库的区别数据库和数据库软件:数据库软件是一种物理概念,用于实现数据库。数据库是一种逻辑概念,用于存放数据,数据库由各种表组成,表则能表达数据的二维关系,而数据库的表能用二维表现多维关系。数据仓库:数据仓库从逻辑上讲与数据库没有什么差别,功能都是用于存放数据。但从数据用途和数据量上来讲,数据仓库区别于数据库是面向数据分析和数原创 2021-04-14 18:26:22 · 977 阅读 · 0 评论 -
MapReduce、MR On YARN(其他:全局TopN、分组TopN等)
MapReduce文章目录MapReduce一、MapReduce流程Java、大数据开发学习要点(持续更新中…)先来个MR的wordcount热热身~import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.原创 2021-03-28 16:13:20 · 990 阅读 · 0 评论 -
HDFS客户端读写文件流程详解
HDFS读写文件流程文章目录HDFS读写文件流程一、HDFS客户端写文件详解二、HDFS客户端读文件详解Java、大数据开发学习要点(持续更新中…)一、HDFS客户端写文件详解下面深入NameNode在客户端请求写文件时所做的具体事情:NameNode的create动作主要是为客户端传过来的文件名在文件系统中申请一个名字空间,并为之建立一个相应的iNode(状态为underConstruction),然后为这个客户端创建一个该文件的租约,以防止其它的客户端对这个文件同时写。NameN原创 2021-03-24 22:00:29 · 1362 阅读 · 0 评论 -
SQL题与解析
SQL题与解析文章目录SQL题与解析1. 活跃业务查询1. 活跃业务查询解题思路:先用自查询计算每种事件类型(event_type)的平均值,使用分组和AVG函数。将原表与自查询计算的事件平均值表JOIN(条件是事件类型相同),使原表每行获得事件平均值。过滤JOIN后表格中不符合条件(occurences小于平均值)的行,并按业务分组计算每种业务(bussiness_id)还有两个事件符合的数量。最后用最外层查询过滤符合条件的业务。也可以用HAVING直接过滤。SELECT原创 2021-03-13 14:19:24 · 290 阅读 · 0 评论 -
Hadoop HDFS源码学习之NameNode部分
NameNode源码学习文章目录NameNode源码学习一、NameNode简介二、文件系统目录树2.1 INode相关类2.2 快照特性的实现2.3 FSEditLog类Java、大数据开发学习要点(持续更新中…)一、NameNode简介 二、文件系统目录树 NameNode最重要的两个功能之一是维护文件系统的命名空间。HDFS文件系统命名空间在NameNode内存中是以一颗树的结构来存储的。无论是目录还是文件,在目录树中被看作一个INode节点。目录对应INodeDirectory原创 2021-03-08 22:10:47 · 1178 阅读 · 0 评论 -
Java、大数据开发学习要点(持续更新中...)
操作系统学习指南这里有作者本人学习操作系统的详细知识记录,随时根据学习状态更新。以下是关于操作系统的重点知识汇总,我将其分为了下面的各个模块,提供传送门来帮助学习。文章目录操作系统学习指南1、操作系统基本概念1、操作系统基本概念 传送门 —> 操作系统基本概念(定义、特征、体系、中断、系统调用)...原创 2021-02-26 11:16:02 · 1170 阅读 · 0 评论 -
Hadoop RPC源码学习分享
Hadoop RPC源码学习分享文章目录Hadoop RPC源码学习分享一、RPC框架简介二、Hadoop RPC2.1 客户端部分2.2 服务端部分一、RPC框架简介 RPC(Remote Procedure Call Protocol,远程过程调用协议)是一种通过网络调用远程计算机服务的协议(分布式进程方法调用)。RPC基于TCP/UDP传递和响应RPC请求,允许一台计算机程序远程调用另一台计算机的子程序,对用户透明。 RPC采用客户端/服务端模式,客户端发送一个带参数的调用请求到服务器原创 2021-03-04 21:49:42 · 1082 阅读 · 1 评论