- 博客(33)
- 收藏
- 关注
转载 HBASE原理及使用
一、hbase架构简介Zookeeper:作为分布式的协调。RegionServer也会把自己的信息写到ZooKeeper中。HDFS是Hbase运行的底层文件系统。RegionServer,理解为数据节点,存储数据的。Master :RegionServer要实时的向Master报告信息。Master知道全局的RegionServer运行情况,可以控制RegionServer的故障转移和Region的切分。架构的细分HMaster是Master Server的实现,负责监控集群中的R
2020-09-29 12:00:40
1028
原创 Kylin使用及优化
kylin框架介绍Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。Apache kylin 能提供低延迟(sub-second latency)的秘诀就是预计算,即针对一个星型拓扑结构的数据立方体,预计算多个维度组合的度量,然后将结果保存在hbase中,对外暴露JDBC、ODBC、Rest API的查询接口,即可实现实时查询。如上图
2020-09-29 11:59:04
450
原创 26Hbase大合集
一、hbase架构简介Zookeeper:作为分布式的协调。RegionServer也会把自己的信息写到ZooKeeper中。HDFS是Hbase运行的底层文件系统。RegionServer,理解为数据节点,存储数据的。Master :RegionServer要实时的向Master报告信息。Master知道全局的RegionServer运行情况,可以控制RegionServer的故障转...
2020-04-30 00:10:42
1796
原创 25Kylin理解
kylin框架介绍Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。Apache kylin 能提供低延迟(sub-second latency)的秘诀就是预计算,即针对一个星型拓扑结构的数据立方体,预计算多个维度组合的度量,然...
2020-04-27 23:41:30
174
原创 24Presto基本原理理解
Presto的简介Presto是一个facebook开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。presto的架构由关系型数据库的架构演化而来。presto之所以能在各个内存计算型数据库中脱颖而出,在于以下几点:清晰的架构,是一个能够独立运行的系统,不依赖于任何其他外部系统。例如调度,presto自身提供了对集群的监控,可以根据监控信息完成调度。简单的数据结...
2020-04-27 11:51:06
1162
原创 23Spark大合集
一、Spark消费 Kafka,分布式的情况下,如何保证消息的顺序?**Kafka 分布式的单位是 Partition。**如何保证消息有序,需要分几个情况讨论。同一个 Partition 用一个 write ahead log 组织,所以默认可以保证 FIFO 的顺序。不同 Partition 之间不能保证顺序。但是绝大多数用户都可以通过 message key 来定义,因为同一个 ke...
2020-04-25 13:00:51
373
原创 22Zookeeper大合集
一、zookeeper简介Zookeeper是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于Zookeeper实现诸如数据发布/订阅,负载均衡,命名服务,分布式协调/通知,集群管理,Master选举,分布式锁和分布式队列等功能。Zookeeper本身就是一个分布式程序,主要半数以上节点存活,Zookeeper就能正常服务。为了保证高可用,最好以集群方式部署Zookeeper,这...
2020-04-25 00:07:28
242
原创 21Kafka大合集
kafka是一个高吞吐的分布式消息队列系统。特点是生产者消费者模式,先进先出(FIFO)保证顺序,自己不丢数据,默认每隔7天清理数据。消息列队常见场景:系统之间解耦合、峰值压力缓冲、异步通信。一、kafka架构简介kafka架构的组成:Kafka架构是由:producer(消息生产者)consumer(消息消费者)borker(kafka集群的server,负责处理消息读、写请求,...
2020-04-23 23:52:24
242
原创 20Hive窗口函数
hive推出的窗口函数功能是对hive sql的功能增强,确实目前用于离线数据分析逻辑日趋复杂,很多场景都需要用到。一、理解下什么是WINDOW子句window子句,就是灵活控制窗口的子集。PRECEDING:往前FOLLOWING:往后CURRENT ROW:当前行UNBOUNDED:起点(一般结合PRECEDING,FOLLOWING使用)UNBOUNDED PRECEDING ...
2020-04-23 00:01:25
255
原创 19Hive大合集
hive的架构原理hive的架构原理可如下图所示:MetaStore:元数据储存,存储着Hive中文件的元数据信息。元数据信息主要包括了文件的名称、表的列、分区和属性、表的属性(是不是外部表等)、表的内容所在目录等等。Diver:该组件包括了编译器(Compiler)、优化器(Optimizer)、执行器(Excutor)。Diver组件完成HQL语句从词法分析、语法分析、编译、优化、以及...
2020-04-22 23:18:03
848
1
原创 18Hadoop大合集
此次采用问题加回答的方式。Hadoop1.x和Hadoop2.x的区别Hadoop1.0即第一代Hadoop,内核主要由HDFS和MapReduce两个系统组成,其中MapReduce是一个离线处理框架,由编程模型(新旧API)、运行时环境(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)三部分组成。Hadoop2.0即第二代Hadoop,...
2020-04-20 23:28:17
243
原创 17mysql存储引擎及索引详解
一、mysql的两种主流存储引擎比对mysql最流行的两种存储引擎分别为:MyISAM和InnoDB。其中在5.5版之前,MyISAM为默认存储引擎5.5版之后,默认使用InnoDB引擎。MyISAM和InnoDB引擎之间的差别主要如下:1、事务支持MyISAM不支持事务,而InnoDB支持。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动...
2020-04-19 23:37:50
144
原创 16Java高并发基础大合集
一、Fork/JoinJava7提供了Fork/Join用于并行执行任务的框架, 可以把一个大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。如果一个应用能被分解成多个子任务,并且组合多个子任务的结果就能够获得最终的答案,那么这个应用就适合用 Fork/Join 模式来解决,对开发来说也不再需要处理各种并行相关事务,例如同步、通信、死锁等问题,需要做的就是拆分任务并组合每...
2020-04-19 19:42:50
182
原创 15红黑树透彻理解
首先了解几个基本概念:二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。二叉排序树满足条件:一棵空树,或者是具有下列性质的二叉树:(1)若左子树...
2020-04-19 17:19:16
349
1
原创 14checkpoint在Spark中的应用及分析
checkpoint在spark中主要有两块应用:一块是在spark core中对RDD做checkpoint,可以切断做checkpoint RDD的依赖关系,将RDD数据保存到可靠存储(如HDFS)以便数据恢复;另外一块是应用在spark streaming中,使用checkpoint用来保存DStreamGraph以及相关配置信息,以便在Driver崩溃重启的时候能够接着之前进度继续进行处理...
2020-04-19 12:16:31
209
原创 13SparkStreaming动态感知kafka某个topic下partition
说明SparkStreaming动态感知kafka某个topic下partition,需要对kafka版本区分来看。kafka 0.8版本结论:kafka 0.8版本和Spark Streaming结合的DirectStream这种形式的API里面,是不支持kafka新增分区或者topic检测的。所以如果想读取新的分区中的数据,那么就得重新启动Spark Streaming应用。结合spa...
2020-04-19 11:29:14
665
原创 12Spark写数据到Kafka及使用kafka调优
之前讲述了spark如何从kafka中消费数据,这次来将一下spark如何将数据写入到kafka中。一、spark写消息到kafka中直接在spark或者sparkstreaming每一批次处理结束后,在rdd.foreachPartition方法体内创建new KafkaProducer来进行数据写入。**不推荐:**因为每一个partition都要与kafka建立一次连接。代码如下:...
2020-04-19 10:57:36
1221
原创 11SparkStreaming消费kafka以及offset提交
spark streaming流式处理kafka中的数据,第一步是先把数据接收过来,转换为spark streaming中的数据结构Dstream。接收数据的方式有两种:1.利用Receiver接收数据,2.直接从kafka读取数据。一、Receiver方式消费kafka这种方式利用接收器(Receiver)来接收kafka中的数据,其最基本是使用Kafka高阶用户API接口。对于所有的接收器...
2020-04-19 00:49:35
912
原创 10SparkStreaming中的反压机制
反压(Back Pressure)机制主要用来解决流处理系统中,处理速度比摄入速度慢的情况。是控制流处理中批次流量过载的有效手段。一、SparkStreaming体系结构Spark Streaming 1.5 以前的体系结构数据是源源不断的通过 receiver 接收,当数据被接收后,其将这些数据存储在 Block Manager 中;为了不丢失数据,其还将数据备份到其他的 Block ...
2020-04-18 22:45:46
446
原创 9HiveSql的优化
工作中影响Hive效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、job或I/O过多、MapReduce分配不合理等等。对Hive的调优既包含对HiveSQL语句本身的优化,也包含Hive配置项和MR方面的调整。下面列出常见的HiveSQL优化策略:列裁剪和分区裁剪最基本的操作。所谓列裁剪就是在查询时只读取需要的列,分区裁剪就是只读取需要的分区。以我们的日历记录表为例:select u...
2020-04-17 23:59:14
2807
原创 8HiveSql的原理解析,与mysql差异
HiveSQL底层默认是基于MR程序运行的,我们分析HiveSQL的运行原理之前,首先看一下MR程序实现一些SQL操作的基本原理。MapReduce实现基本SQL操作的原理参考文献:https://www.cnblogs.com/csguo/p/7553022.html...
2020-04-16 23:26:33
450
原创 7Maven项目中jar包冲突的解决方法
一、maven中jar包冲突报错MAVEN项目运行中如果报如下错误:Caused by:java.lang.NoSuchMethodErrorCaused by: java.lang.ClassNotFoundException十有八九是Maven jar包冲突造成的。二、maven中jar包冲突原理maven中jar包具有依赖性。假设有如下依赖关系:A->B->...
2020-04-16 23:14:25
141
原创 6HDFS的读写流程及多线程写问题
1、HDFS之block package chunk了解hdfs的读写流程,首先要了解block、package、chunk的概念。1、block这个大家应该知道,文件上传前需要分块,这个块就是block,一般为128MB,当然你可以去改,不顾不推荐。因为块太小:寻址时间占比过高。块太大:Map任务数太少,作业执行速度变慢。它是最大的一个单位。2、packagepacket是第二大的单...
2020-04-16 22:27:38
2065
原创 5Hadoop的shuffle过程
首先上官方图:然后做一个简单的流程解释(以wordcount为例):里面涉及到的点有环形缓冲区详细说明:以wordcount为例,假设有5个map和3个reduce:map阶段1、在map task执行时,它的输入数据来源于HDFS的block,当然在MapReduce概念中,map task只读取split。Split与block的对应关系可能是多对一,默认是一对一。2、在经过...
2020-04-15 23:17:35
150
原创 4Hadoop集群添加删除节点及集群balance
Hadoop集群添加删除节点有两种方式:静态和动态本篇中默认新添加的节点已经配置好免密登陆等其他相关的基础设置一、静态方式静态方式需要停止NameNode1.停止namenode2.修改slaves文件,并更新到各个节点3.启动namenode4.执行hadoop balance命令。(此项为balance集群使用,如果只是添加节点,则此步骤不需要)二、动态方式1.首先配置...
2020-04-15 22:46:57
246
原创 3Hadoop的HA机制及原理解析
一、hadoop 1.x和2.x架构图1、架构图hadoop2.x通过引入双NameNode架构,同时借助共享存储系统 Quorum Journal Manager QJM来进行元数据的同步,解决了1.x中NameNode的单点故障问题。2、hadoop2.x元数据Hadoop的元数据主要作用是维护HDFS文件系统中文件和目录相关信息。元数据的存储形式主要有3类:内存镜像、磁盘镜像(F...
2020-04-15 22:07:17
310
原创 2hadoop的四大机制(心跳、安全模式、机架策略、负载均衡)
hadoop的心跳机制我们知道namenode是集群的大哥,负责集群上任务的分工,那如果要进行分工,首先一点就是要知道各个从节点的存活状态,你想想如果连哪个从节点是否存活都不知道,又该如何分配任务呢?可是,就有个疑问了,他是怎么知道各个从节点的存活状态的呢?那就是通过DataNode定期的向namenode发送心跳报告,哎?对了,这就是心跳机制。DataNode默认会每隔3秒向namenod...
2020-04-10 23:38:19
668
原创 1HDFS基本shell操作
常见的hdfs命令hdfs命令需要前缀hdfs dfs xx ,等同于 hadoop fs xx,选择自己喜欢的方式就好。命令概览递归查看文件hadoop fs -ls -R /path创建多级目录hadoop fs -mkdir -p /abc/mm/ff同时上传多个文件hadoop fs -put abc1.txt abc2.txt /abc这样就同时把abc1.tx...
2020-04-10 22:48:46
153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人