自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 region的拆分策略

region中存储的是一张表的数据,当region中的数据条数过多的时候,会直接影响查询效率。当region过大的时候,region会被拆分为两个region,HMaster会将分裂的region分配到不同的regionserver上,这样可以让请求分散到不同的RegionServer上,已达到负载均衡 , 这也是HBase的一个优点。

2023-06-11 20:26:53 247

原创 Hbase架构

HBase 系统遵循 Master/Salve 架构,由三种不同类型的组件组成:

2023-06-10 20:13:46 842

原创 kafka面试题02

消息系统都致力于让consumer以最大的速率最快速的消费消息,但不幸的是,push模式下,当broker推送的速率远大于consumer消费的速率时,consumer恐怕就要崩溃了。消费者组的意义:(可以让多个消费者组成一个组,并共同协作来消费数据,提高消费并行度)一个消费组中的各消费者,在消费一个topic的数据时,互相不重复!也就是说,如果你给 log.dirs 参数新增了一个新的磁盘,新的分区目录肯定是先在这个新的磁盘上创建直到这个新的磁盘目录拥有的分区目录不是最少为止。每个消费者从属于消费组。

2023-06-09 19:26:00 1497

原创 Kafka面试题01

kafka中的每个partiton中的消息在写入时都是有序的(不断追加),而且单独一个partiton只能由一个消费者去消费,可以在里面保证消息的顺序性。HW高水位线在0.11版本之前,只用了高水位线来保证,但是这个里面会出现一些问题:比如丢失数据,即便是ack等于-1的情况下,也可能会丢失数据。kafka只保证按一个partiton中的消息的顺序,不保证那一个分区的那一个,偏移量的数据只能追加,不能被修改。一个partition有多个副本,则副本间的数据一致性难以保证,因此要有一个leader统领读写;

2023-06-08 19:00:00 439

原创 kafka系统的CAP保证

对未完成的事务而言,LSO 的值等于事务中第一条消息的位置(firstUnstableOffset),对已完成的事务而言,它的值同 HW 相同;为了解决 HW 更新时机是异步延迟的,而 HW 又是决定日志是否备份成功的标志,从而造成数据丢失和数据不一致的现象,Kafka 引入了 leader epoch 机制;LW:(low watermark)一个副本的log中,最小的消息偏移量;这个值规定了消费者仅能消费HW之前的数据;如图,各副本中最小的LEO是3,所以HW是3,所以,消费者此刻最多能读到Msg2;

2023-06-07 16:32:22 999

原创 Kafka原理

如果将 retries参数配置为非零值,并且 max .in.flight.requests.per.connection 参数配置为大于1的值,那可能会出现错序的现象:如果批次1消息写入失败,而批次2消息写入成功,那么生产者会重试发送批次1的消息,此时如果批次1的消息写入成功,那么这两个批次的消息就出现了错序。一般而言,在需要保证消息顺序的场合建议把参数max.in.flight.requests.per.connection 配置为1 ,而不是把retries配置为0,不过这样也会影响整体的吞吐。

2023-06-06 20:04:19 1248

原创 Kafka安装及架构

Controller作为Kafka集群中的核心组件,它的主要作用是在 Apache ZooKeeper 的帮助下管理和协调整个 Kafka 集群。Controller与Zookeeper进行交互,获取与更新集群中的元数据信息。其他broker并不直接与zookeeper进行通信,而是与 Controller 进行通信并同步Controller中的元数据信息。Kafka集群中每个节点都可以充当Controller节点,但集群中同时只能有一个Controller节点。

2023-06-05 19:44:49 2012

原创 HyperLogLog数据结构

基数计数(cardinality counting) 通常用来统计一个集合中不重复的元素个数,例如统计某个网站的UV,或者用户搜索网站的关键词数量。数据分析、网络监控及数据库优化等领域都会涉及到基数计数的需求。要实现基数计数,最简单的做法是记录集合中所有不重复的元素集合,当新来一个元素,若集合中不包含元素,则将加入,否则不加入,计数值就是的元素数量。

2023-06-04 19:34:55 395

原创 redis数据持久化

Redis是基于内存的,如果不想办法将数据保存在硬盘上,一旦Redis重启(退出/故障),内存的数据将会全部丢失。(业务库中缓存的数据 , 存储的一些重要的标签, 状态数据)我们肯定不想Redis里头的数据由于某些故障全部丢失(导致所有请求都走MySQL),即便发生了故障也希望可以将Redis原有的数据恢复过来,这就是持久化的作用。

2023-06-02 20:30:00 415

原创 Redis缓存

这是决定在使用缓存时就该考虑的问题。

2023-06-01 20:09:09 1417

原创 Redis数据结构01key

【代码】Redis数据结构01key。

2023-05-31 22:25:47 73

原创 Redis安装

准备reids的配置文件。启动redis的服务。

2023-05-30 20:29:01 467

原创 doris分区、join

原理在某些使用场景下,用户会将表按照天进行分区划分,每天定时执行例行任务,这时需要使用方手动管理分区,否则可能由于使用方没有创建分区导致数据导入失败,这给使用方带来了额外的维护成本。通过动态分区功能,用户可以在建表时设定动态分区的规则。FE 会启动一个后台线程,根据用户指定的规则创建或删除分区。用户也可以在运行时对现有规则进行变更。使用方式动态分区的规则可以在建表时指定,或者在运行时进行修改。当前仅支持对单分区列的分区表设定动态分区规则。

2023-05-29 20:59:56 2000

原创 Doris之rollup上卷及物化视图

通过建表语句创建出来的表称为 Base 表(Base Table,基表)在 Base 表之上,我们可以创建任意多个 ROLLUP 表。这些 ROLLUP 的数据是基于 Base 表产生的,并且在物理上是独立存储的。

2023-05-28 20:32:27 1197

原创 doris索引

其中 ZoneMap 索引是在列存格式上,对每一列自动维护的索引信息,包括 Min/Max,Null 值个数等等。这种索引对用户透明。

2023-05-27 16:06:46 2253

原创 Doris节点扩容及数据表

表中的列按照是否设置了 AggregationType,分为 Key(维度列)和 Value(指标列),没有设置 AggregationType 的称为 Key,设置了 AggregationType 的称为 Value。该模型本质上是聚合模型的一个特例,也是一种简化的表结构表示方式。查询结果后发现,插入的数据全部会被保留,即使两条数据一模一样,也会保留,正常可以操作用户行为日志数据这种。查看数据的时候发现,数据只剩下6条了,就是因为再key相同的时候,将后面的结果聚合了。Row 即用户的一行数据。

2023-05-26 20:38:54 1388

原创 Doris安装

Linux使用交换分区会给Doris带来很严重的性能问题,建议在安装之前禁用交换分区;linux可以把一块磁盘分区当做内存来使用(虚拟内存、交换分区);交换分区是linux用来当做虚拟内存用的磁盘分区;进入到be的conf目录下修改配置文件。fe启动完成后可以查看fe的运行状态。2. 上传到linux。

2023-05-25 19:29:12 1039

原创 Zookeeper

Curator是 ApacheZooKeeper的Java客户端库.原生JavaAPIzkClientCuratorCurator项目的目标是简化ZooKeeper客户端的使用。Curator最初是Netfix研发的,后来捐献了Apache基金会,目前是Apache的顶级项目。坐标</</</</</</</</</</</</

2023-05-24 21:19:38 561

原创 hive函数03

Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。在企业中处理数据的时候,对于敏感数据往往需要进行脱敏处理。比如手机号。我们常见的处理方式是将手机号中间4位进行*号处理。Hive中没有这样的函数可以直接实现功能,虽然可以通过各种函数的嵌套调用最终也能实现,但是效率不高,现要求自定义开发实现Hive函数,满足上述需求。能够对输入数据进行非空判断、手机号位数判断能够实现校验手机号格式,把满足规则的进行*号处理。

2023-05-23 19:45:21 548

原创 hive函数02

窗口函数(Window functions )也叫做开窗函数、OLAP函数,其最大特点是∶输入值是从SELECT语句的结果集中的一行或多行的“窗口”中获取的。窗口函数可以简单地解释为类似于聚合函数的计算函数,但是通过GROUP BY子句组合的常规聚合会隐藏正在聚合的各个行,最终输出一行,窗口函数聚合后还可以访问当中的各个行,并且可以将这些行中的某些属性添加到结果集中。建表准备数据。

2023-05-22 19:52:23 505

原创 hive函数

窗口函数可以简单地解释为类似于聚合函数的计算函数,但是通过GROUP BY子句组合的常规聚合会隐藏正在聚合的各个行,最终输出一行,窗口函数聚合后还可以访问当中的各个行,并且可以将这些行中的某些属性添加到结果集中。比如cube有a,b,c 3个维度,则所有组合情况是: (a,b,c),(a,b),(b,c),(a,c),(a),(b),©,()比如ROLLUP有a,b,c3个维度,则所有组合情况是:(a,b,c),(a,b),(a),()这里的列转行指的是将一行数据转换成多行,输入一行输出多行。

2023-05-21 23:15:00 562

原创 HQL查询

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IYB7fiwW-1684578013741)(img/17_hangzhuanlie.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TkriOIZI-1684578013741)(img/08_join03.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CY5yxTU7-1684578013741)(img/09_join04.png)]

2023-05-20 18:22:17 1811

原创 hive数据库hql基础操作02

不合理的数据分区划分方式可能导致有的分区数据过多,而某些分区没有什么数据的尴尬情况。详细来说:静态分区需要我们自己手动load并指定分区,如果数据很多,那么是麻烦了.而动态分区指的是分区的字段值是基于查询结果(参数位置)自动推断出来的。分区表实际上就是将表中的数据以某种维度进行划分文件夹管理 ,当要查询数据的时候,根据维度直接加载对应文件夹下的数据!不用加载整张表所有的数据再进行过滤, 从而提升处理数据的效率!注意:文件中的数据放入到哪个分区下就属于当前分区的数据,即使数据有误,也会按照当前分区处理。

2023-05-19 19:03:32 739

原创 hive数据库表基本操作

创建数据库,就会在warehouse下产生一个xx.db的文件夹,在哪个库下创建表,就会在对应的文件夹下产生对应表的文件夹.当然这是默认情况 我们可以在创建表时使用Location来指定表的位置.Hive表默认的存储路径是通过hive-site.xml配置文件中hive.metastore.warehouse.dir属性指定的.,此时这里是一个空文件,将user.txt文件上传到这个位置。当我们创建表后 在HDFS上会产生对应的文件夹 ,默认路径。将HDFS文件加载到对应表。在hive数据库中创建表。

2023-05-18 18:29:19 419

原创 HQL基础语法

ARRAY和MAP与Java中的Array和Map类似,而STRUCT与C语言中的Struct类似,它封装了一个命名字段集合,复杂数据类型允许任意层次的嵌套。数据库的其他元数据信息都是不可更改的,包括数据库名和数据库所在的目录位置。对于Hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB的字符数。Hive中的语句叫做HQL语句,是一种类似SQL的语句,基本上和SQL相同但是某些地方也是有很大的区别.

2023-05-17 21:53:37 1150

原创 hive安装及配置

通过这次体验我们发现,Hive底层的确是通过MapReduce执行引擎来处理数据的执行完一个MapReduce程序需要的时间不短.如果是小数据集,使用hive进行分析将得不偿失,延迟很高.如果是大数据集,使用hive进行分析,底层MapReduce分布式计算,才能体现效果.通过执行的日志我们发现,这条语句会转换为MR程序运行,执行时间很长.如果使用mysql的话是毫秒级别就可以执行完,但是使用hive会发现要执行很长时间.(本地MR大概要几秒,如果提交到Yarn上要几十秒);

2023-05-16 20:00:00 1395

原创 Git版本控制

Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系。这里可以选择notepad++也可以使用默认的vim。创建全新的仓库,需要用GIT管理的项目的根目录执行。设置本机绑定SSH公钥,实现免密码登录。(这里链接是windows版本的)可以选择git对应操作系统的版本。

2023-05-15 19:00:13 61

原创 Yarn安装及配置一件启停

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。资源管理系统:集群的硬件资源,和程序运行相关,比如内存,CPU等调度平台:多个程序同时申请计算资源如何分配,调度的规则(算法)。通用∶不仅仅支持MapReduce程序,理论上支持各种计算程序。

2023-05-14 20:00:46 1140

原创 MapperReducer简单使用案例分享

的输出并不需要一个特定的键值,而是只返回每个用户对电影的评级,并按照评分排序后输出。由于这个输出的键值对没有实际意义,因此使用了NullWritable作为输出键,而将评级的信息作为输出值,以便更好地表示这种情况。

2023-05-13 21:00:00 28

原创 Hadoop之block切片

hdfs上数据存储的一个单元,同一个文件中块的大小都是相同的因为数据存储到HDFS上不可变,所以有可能块的数量和集群的计算能力不匹配 我们需要一个动态调整本次参与计算节点数量的一个单位,因此引入了切片的逻辑概念切片的默认大小是与block块的大小相同,

2023-05-12 20:48:15 541

原创 MapReduce分布式计算框架

*KEYIN: K1VALUIN: V1KEYOUT:K2} }继承Mapper类,重写map方法/*K1 : 行起始位置 数字 Long ---- > LongWritableV1 : 一行数据 字符串 String -----> TextK2 : 单词 字符串 String -----> TextV2 : 固定数字1 数组 Long -----> LongWritable/*** @param context 上下文对象 将map的结果 输出给reduce。

2023-05-11 20:18:02 268

原创 org.apache .hadoop.io.nativeio.NativeIO$windows.access0(Ljava/lang/string;1)解决办法

2.如果环境变量没有问题则需要修改Hadoop源码org.apache.hadoop.io.nativeio,同时在当前包下创建NativeIO.java类。主要是因为在新版本的 windows 系统中,会取消部分文件,导致某些功能无法支持。1.先检查windows本地的Hadoop环境变量配置。进行以上操作后重新运行java。

2023-05-11 20:15:20 31

原创 java.lang.Exception: java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop

今天在写Hadoop本地文件读取时出现Type mismatch in key from map: expected org.apache.hadoop错误,主要原因时Map的键值对不匹配。

2023-05-11 19:16:51 350

原创 Hadoop

Hadoop由4部分组成1)HDFS:(Hadoop Distribute File System)分布式文件系统,海量数据存储解决方案2)MapReduce:Hadoop的分布式运算编程框架3)Yarn:分布式资源调度平台和任务监控平台4)Commons: HADOOP底层技术支持大数据存储大数据分析存储原理访问原理网络拓扑及机架感知网络拓扑节点距离:两个节点到达共同父节点的距离和机架感知 ( 副本节点的选择 )例如:500个节点,上传数据my.tar.gz,副本数为3,

2023-05-09 18:56:23 393

原创 maven简单使用

Maven是项目进行模型抽象,充分运用的面向对象的思想,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。maven对项目的第三方构件(jar包)进行统一管理。向工程中加入jar包不要手工从其它地方拷贝,通过maven定义jar包的坐标,自动从maven仓库中去下载到工程中。maven提供一套对项目生命周期管理的标准,开发人员、和测试人员统一使用maven进行项目构建。项目生命周期管理:编译、测试、打包、部署 、运行。

2023-05-08 21:45:00 297

原创 Linux_SHELL编程

function 函数名(){函数体return 返回值注意:function可以省略不写()可以省略不写 但是函数名和{}之间要有空格return可以结束函数return默认返回最后一个命令的状态,也可以给定参数值 范围在 0-255如果没有return 默认返回最后一个指令的退出状态值 $?echo "hello" echo "world" } 调用方式在当前shell脚本中调用hello在外界的bash中调用 source fn1.sh。

2023-05-07 21:15:00 114

原创 Linux网络时间设置、文件权限及搭建集群

Linux网络时间设置、文件权限及搭建集群

2023-05-05 23:00:00 206

原创 Linux基础命令

Linux中没有盘符,根目录为"/"**/bin:**存放系统命令的目录,所有用户都可以执行.**/sbin:**保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。**/home:**用户缺省宿主目录 添加新用户 home会有对应用户的文件夹**/etc:**系统配置文件**/dev:**存放设备文件 网卡 声卡 显示 CD 打印机**/mnt:**挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录**/media:**挂载目录。

2023-05-04 18:37:44 35

原创 Linux安装

VMware Workstation Pro是相对一款比较主流的虚拟PC软件,可以使你在一台电脑上同时运行二个或者多个Windows、DOS和LINUX系统。VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就像标准Windows应用程序那样切换。

2023-05-03 19:59:01 23

原创 MySQL事务

MySQL事务

2023-04-29 20:00:00 394

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除