- 博客(30)
- 资源 (12)
- 收藏
- 关注
原创 HBase-存储文件合并StoreFile Compaction 和 Region Split
文章目录- StoreFile Compaction- Region Split- StoreFile Compaction由于MemStore每次刷写都会生成一个新的HFile,且同一个字段的不同版本(timestamp)和不同类型(Put/Delete)有可能会分布在不同的HFile中,因此查询时需要遍历所有的HFile。为了减少HFile的个数,以及清理掉过期和删除的数据,会进行 StoreFile Compaction。Compaction分为两种,分别是Minor Compaction和M
2020-08-27 16:35:18 810
原创 HBase-MemStore触发刷写的六种时机
文章目录MemStore Flush1)MemStore级别2)Region级别3)RegionServer级别4)HLog级别5)定期刷写6)手动刷写MemStore Flush所有的flush都是以Region为单位刷新1)MemStore级别当 Region中 某个 MemStore 的大小达到了hbase.hregion.memstore.flush.size(默认值128M),会触发Region的刷写(若Region中有多个Store,只要有其中一个达到hbase.hregion.mem
2020-08-27 15:32:47 1196
原创 HBase-架构原理组件,写数据流程,读数据流程解析
文章目录架构原理写数据流程读数据流程架构原理1)HDFSHDFS 为 HBase 提供最终的底层数据存储服务,同时为 HBase 提供高可用的支持。2)Client利用 RPC 机制与 Master 和 RegionServer 通信,并维护Meta Cache 来加快对HBase的访问。Client 访问用户数据前需要首先访问 ZooKeeper,找到 hbaes:meta 表的 Region 所在的位置,最后才能找到用户数据的位置去访问,不过 client 端会做 cache 缓存。3)Z
2020-08-23 12:47:04 2252
原创 HBase-概述,hbase逻辑结构,hbase物理存储结构
文章目录HBase概述HBase逻辑结构HBase物理存储结构HBase概述HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。是一种面向列簇存储的非关系型数据库。用于存储结构化和非结构化的数据,适用于单表非关系型数据的存储,不适合做关联查询,类似JOIN等操作。基于HDFS,数据持久化存储的体现形式是HFile,存放于DataNode中,被ResionServer以region的形式进行管理。延迟较低,接入在线业务使用,面对大量的企业数据,HBase可以实现单表大量数据的存储
2020-08-23 11:07:27 2859 1
原创 Kafka-消费者组三种分区分配策略Range Assignor、RoundRobin Assignor、Sticky Assignor详细解析
Kafka消费者组三种分区分配策略roundrobin,range,StickyAssignor文章目录1. Range(默认策略)2. RoundRobin3. StickyAssignor一个consumer group中有多个consumer,一个 topic有多个partition,所以必然会涉及到partition的分配问题,即确定那个partition由哪个consumer来消费。Kafka有三种分配策略,roundrobin Assignor,range Assignor,Sticky
2020-08-20 22:09:37 1591
原创 Flume-聚合案例
聚合1)案例需求:hadoop102上的Flume-1监控文件/opt/module/group.log,hadoop103上的Flume-2监控某一个端口的数据流,Flume-1与Flume-2将数据发送给hadoop104上的Flume-3,Flume-3将最终数据打印到控制台。2)需求分析3)实现步骤:(1)准备工作在hadoop102、hadoop103以及hadoop104的/opt/module/flume/job目录下创建一个group3文件夹。[qinjl@hadoop1
2020-08-18 21:10:47 692 3
原创 Flume-负载均衡和故障转移案例
文章目录负载均衡和故障转移负载均衡和故障转移1)案例需求使用Flume1监控一个端口,其sink组中的sink分别对接Flume2和Flume3,采用FailoverSinkProcessor,实现故障转移的功能。(轮询)2)需求分析3)实现步骤(1)准备工作在 /opt/module/flume/job 目录下创建group2文件夹[qinjl@hadoop102 job]$ cd group2/(2)创建flume-netcat-flume.conf配置1个netcat sour
2020-08-18 21:05:43 543
原创 Flume-复制和多路复用案例
文章目录复制和多路复用复制和多路复用1)案例需求使用 Flume-1 监控文件变动,Flume-1 将变动内容传递给 Flume-2,Flume-2 负责存储到HDFS。同时 Flume-1 将变动内容传递给 Flume-3,Flume-3 负责输出到 Local File System。2)需求分析:3)实现步骤:(1)准备工作在/opt/module/flume/job目录下创建group1文件夹[qinjl@hadoop102 job]$ cd group1/在/opt/modu
2020-08-18 20:50:27 428
原创 Kafka-Producer API,异步发送,分区器,同步发送,Consumer API,自动提交和手动提交offset
文章目录Producer API1 消息发送流程2 异步发送API3 分区器4 同步发送APIConsumer API1 自动提交offset2 手动提交offsetProducer API1 消息发送流程Kafka的Producer发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程main线程和Sender线程,以及一个线程共享变量RecordAccumulator。main线程将消息发送给RecordAccumulator,Sender线程不断从RecordAccumulator
2020-08-16 10:09:10 2090 1
原创 Kafka-高效读写数据,Zookeeper在Kafka中的作用,Kafka事务
文章目录Kafka高效读写数据1)顺序写磁盘2)应用Pagecache3)零复制技术Zookeeper在Kafka中的作用Kafka事务1 Producer事务2 Consumer事务(精准一次性消费)Kafka高效读写数据1)顺序写磁盘Kafka 的 producer 生产数据,要写入到 log 文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能到600M/s,而随机写只有100K/s。这与磁盘的机械机构有关,顺序写之所以快,是因为省去了大量磁头寻址的时间。2)
2020-08-16 09:56:28 530
原创 Kafka-生产者分区策略、数据可靠性、Exactly Once,消费者消费方式、分区分配策略、故障处理
文章目录Kafka生产者1 分区策略2 数据可靠性保证3 Exactly Once语义3.3 Kafka消费者3.3.1 消费方式3.3.2 分区分配策略3.3.3 offset的维护3.3.5 故障处理细节Kafka生产者1 分区策略1)分区的原因(1)方便在集群中扩展,每个Partition可以通过调整以适应它所在的机器,而一个topic又可以有多个Partition组成,因此整个集群就可以适应任意大小的数据了;(2)可以提高并发,因为可以以Partition为单位读写了。2)分区的原则我
2020-08-16 09:28:26 1963
原创 Kafka-工作流程,文件存储机制,索引机制,如何通过offset找到对应的消息
文章目录Kafka工作流程文件存储机制如何通过offset找到对应的消息?Kafka工作流程Kafka 中消息是以topic进行分类的,生产者生产消息,消费者消费消息,都是面向topic的。topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于多个 log 文件,该 log 文件中存储的就是producer生产的数据。Producer生产的数据会被不断追加到该 log 文件末端,且每条数据都有自己的 offset。消费者组中的每个消费者,都会实时记录自己消费到了哪
2020-08-14 20:14:51 4580 3
原创 Kafka-2.4版本安装部署集群,kafka基本命令行操作
第2章 Kafka快速入门文章目录第2章 Kafka快速入门2.1 安装部署(2.4版本)2.2 Kafka命令行操作2.1.2 Kafka 官网下载http://kafka.apache.org/downloads.html2.1 安装部署(2.4版本)2.1.1 集群规划hadoop102hadoop103hadoop104zkzkzkkafkakafkakafka2.1.3 集群部署1)解压安装包[qinjl@hadoop102 softwar
2020-08-11 23:58:58 1221
原创 Kafka-概述,消息队列,基础架构
Kafka-概述,消息队列,基础架构文章目录Kafka-概述,消息队列,基础架构概述消息队列Kafka基础架构概述Kafka是一个分布式的基于发布 / 订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。消息队列1.2.1 传统消息队列的应用场景使用消息队列的好处1)解耦允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2)可恢复性系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加
2020-08-10 23:00:14 745
原创 Flume-事务机制,Flume Agent内部原理
文章目录Flume事务机制Flume Agent内部原理Flume事务机制Put事务-流程doPut:将批数据先写入临时缓冲区 putListdoCommit:检查 channel 内存队列是否足够合并doRollback:channel 内存队列空间不足,回滚数据Take 事务流程doTake:将数据取到临时缓冲区 takeList,并将数据发送到 HDFSdoCommit:如果数据全部发送成功,则清除临时缓冲区 takeListdoRollback:数据发送过程中如果出现异常,rol
2020-08-09 13:38:42 1244
原创 Flume-实时监控单目录下的多个新文件案例,实时监控多目录下的多个追加文件案例
文章目录实时监控目录下多个新文件实时监控多目录下的多个追加文件实时监控目录下多个新文件1)案例需求:使用flume监控某个目录下的日志文件,当某个目录下出现符合要求的文件名称的文件时,则对文件中的日志数据进行读取,并将数据最终写入到hdfs上2)需求分析:3)实现步骤:(1)创建配置文件files-flume-hdfs.conf创建一个文件[qinjl@hadoop102 job]$ vim files-flume-hdfs.conf添加如下内容a3.sources = r3a3.
2020-08-09 13:01:19 1336
原创 Flume-监控端口数据案例,实时监控单个追加文件案例
文章目录监控端口数据官方案例实时监控单个追加文件监控端口数据官方案例1)案例需求:使用Flume监听一个端口,收集该端口数据,并打印到控制台。2)需求分析:3)实现步骤:(1)安装netcat工具[qinjl@hadoop102 software]$ sudo yum install -y nc(3)创建Flume Agent配置文件netcat-flume-logger.conf在flume目录下创建job文件夹并进入job文件夹。[qinjl@hadoop102 flume]
2020-08-09 10:06:09 685
原创 Flume-概述,基础架构,组件介绍
文章目录Flume概述Flume基础架构AgentEventSourceSinkChannelFlume概述Apache Flume is a distributed, reliable, and available system for efficiently collecting, aggregating and moving large amounts of log data from many different sources to a centralized data store.Flum
2020-08-07 23:36:50 1832
原创 Hive-SQL基础练习一
文章目录练习一练习二练习一有如下的用户访问数据table_name:actionuserId (string), visitDate (string), visitCount (int)用户ID 访问时间 访问次数userid|visitdate|visitcount|------|---------|----------|u01 |2017/1/21| 5|u02 |2017/1/23| 6|u03 |2017/1/22|
2020-08-06 23:25:20 451
原创 【Hive-调优】并行执行,严格模式,Fetch抓取,本地模式
文章目录并行执行严格模式执行计划(Explain)并行执行Hive会将一个查询转化成一个或者多个阶段。这样的阶段可以是MapReduce阶段、抽样阶段、合并阶段、limit阶段。或者Hive执行过程中可能需要的其他阶段。默认情况下,Hive一次只会执行一个阶段。不过,某个特定的job可能包含众多的阶段,而这些阶段可能并非完全互相依赖的,也就是说有些阶段是可以并行执行的,这样可能使得整个job的执行时间缩短。通过设置参数hive.exec.parallel值为true,就可以开启并发执行。不过,在
2020-08-05 20:24:18 1349
原创 Hive-调优,表的优化,谓词下推,负载均衡,去重统计
文章目录谓词下推(Predicate pushdown)MapJoinGroup ByCount(Distinct) 去重统计谓词下推(Predicate pushdown)空key转换有时虽然某个key为空对应的数据很多,但是相应的数据不是异常数据,必须要包含在join的结果中,此时我们可以表a中key为空的字段赋一个随机的值,使得数据随机均匀地分不到不同的reducer上。例如:案例测试:不随机分布空null值:(1)设置5个reduce个数set mapreduce.job.reduce
2020-08-05 20:03:42 817
原创 【Hive-调优】数据压缩格式,存储格式(行式存储、列式存储)
第9章 压缩和存储9.1 Hadoop压缩配置文章目录第9章 压缩和存储9.1 Hadoop压缩配置9.1.1 MR支持的压缩编码9.1.2 压缩参数配置9.2 开启Map输出阶段压缩(MR引擎)9.3 开启Reduce输出阶段压缩9.4 文件存储格式9.4.1 列式存储和行式存储9.4.2 TextFile格式9.4.3 Orc格式9.4.4 Parquet格式9.4.5 主流文件存储格式对比实验9.5 存储和压缩结合9.5.1 测试存储和压缩9.1.1 MR支持的压缩编码压缩格式算法
2020-08-05 18:59:06 1245
原创 【Hive-调优】HQL语法优化,Job优化(map端和reduce端)
Hive-调优,Fetch抓取,本地模式文章目录Hive-调优,Fetch抓取,本地模式Fetch抓取本地模式Fetch抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM emp;在这种情况下,Hive可以简单地读取emp对应的存储目录下的文件,然后输出查询结果到控制台。hive.fetch.task.conversion默认是more,老版本 Hive 默认是 minimal(Minimal,查询分区表不走MR)none:执行
2020-08-04 23:55:33 1016
原创 【Hive】Hive中的MapJoin,CommonJoin,SMBJoin详细介绍
Hive-窗口函数,详细分析,案例实践文章目录Hive-窗口函数,详细分析,案例实践窗口函数介绍窗口函数分析案例实践一案例实践二窗口函数介绍LEAD(col,n, default_val):表示往后第n行数据,col是字段,n表示第几行,default_val 如果没有往后第n行则用默认值代替LAG(col,n,default_val):表示往前第n行数据,col是字段,n表示第几行,default_val 如果没有往前第n行则用默认值代替FIRST_VALUE (col,true/false):
2020-08-04 23:26:45 2544
原创 【Hive-基础】行转列,列转行,窗口函数
行转列,列转行文章目录行转列,列转行行转列列转行行转列1)函数说明(可以是一行转一列,多行转一列)CONCAT(string A, string B...):返回输入字符串连接后的结果,支持任意个输入字符串;CONCAT_WS(separator, str1, str2,...):它是一个特殊形式的 concat()。第一个参数是其余参数,的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。注意:CONCAT_WS must be “string o
2020-08-03 22:43:06 5628
原创 【Hive-基础】分区表,二级分区,动态分区,分桶表
分区表,二级分区,动态分区,分桶表文章目录分区表,二级分区,动态分区,分桶表分区表与分桶表的区别?分区表1 分区表基本操作2 分区表二级分区3 动态分区调整分桶表分区表与分桶表的区别?1)分区表:使用的是表外字段(表中不存在的字段),需要指定字段类型;分桶表:使用的是表内字段(表中存在的字段),已经知道字段类型,不需要指定。2)分区表:通过关键字partitioned by(partition_name string)声明,分桶表:通过关键字clustered by(column_name)
2020-08-03 18:46:27 2813
原创 【Hive-基础】全局排序、内部排序、分区排序
排序文章目录排序全局排序(Order By)每个Reduce内部排序(Sort By)分区(Distribute By)分区排序(Cluster By)全局排序(Order By)Order By:全局排序,只有一个Reducer1)使用 ORDER BY 子句排序ASC(ascend): 升序(默认)DESC(descend): 降序(1)查询员工信息按工资升序排列hive (default)> select * from emp order by sal;(2)查询员工信息按工
2020-08-02 22:42:04 2296
原创 【Hive-基础】表数据的导出、导入(HDFS、本地)
表数据的导出、导入(HDFS、本地)文章目录表数据的导出、导入(HDFS、本地)数据导入1 向表中装载数据(Load)2 通过查询语句向表中插入数据(Insert)3 查询语句中创建表并加载数据(As Select)4 创建表时通过Location指定加载数据路径5 Import数据到指定Hive表中数据导出1 Insert导出2 Hadoop命令导出到本地3 Hive Shell 命令导出4 Export导出到HDFS上数据导入1 向表中装载数据(Load)1)语法load data [loca
2020-08-02 22:22:15 11660
原创 【Hive-基础】DDL语句,数据库、表的基本CURD操作
DDL语句,数据库、表的基本操作文章目录DDL语句,数据库、表的基本操作1 创建-数据库2 查询-数据库3 修改-数据库4 删除-数据库5 创建-表5.1 管理表5.2 外部表5.3 管理表与外部表的互相转换6 修改-表7 删除-表8 清除-表1 创建-数据库CREATE DATABASE [IF NOT EXISTS] database_name[COMMENT database_comment][LOCATION hdfs_path][WITH DBPROPERTIES (property_
2020-08-02 21:53:02 1302
原创 【Hive-基础】基本数据类型,集合数据类型,类型转换
Hive-基本数据类型,集合数据类型,类型转换文章目录Hive-基本数据类型,集合数据类型,类型转换基本数据类型集合数据类型类型转化基本数据类型HIVEMySQLJAVA长度例子TINYINTTINYINTbyte1byte有符号整数2SMALINTSMALINTshort2byte有符号整数20INTINT int4byte有符号整数20BIGINTBIGINTlong8byte有符号整数20BOOLEAN无
2020-08-02 20:48:06 840
数据分析指标ppx,介绍如何指标分析,指标分析ppx,排版优美
2023-03-01
Java面试突击宝典-如何面试-如何准备
2023-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人