自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Scala环境搭建及安装

访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,目前最新版本是3.1.3,但是目前大多数的框架都是用2.12.x编写开发的,Spark3.x使用的就是2.12.x,所以这里推荐2.12.x版本,下载scala-2.12.11.msi后点击下一步就可以了!打开idea后找到左上角得File --》settings --》plugins--》搜索scala后install后重启idea即可。在src--》main--》创建一个scala包。

2023-06-13 20:12:50 7718

原创 kafka面试题

消息系统都致力于让consumer以最大的速率最快速的消费消息,但不幸的是,push模式下,当broker推送的速率远大于consumer消费的速率时,consumer恐怕就要崩溃了。也就是说,如果你给 log.dirs 参数新增了一个新的磁盘,新的分区目录肯定是先在这个新的磁盘上创建直到这个新的磁盘目录拥有的分区目录不是最少为止。kafka中的每个 partition 中的消息在写入时都是有序的(不断追加),而且单独一个 partition只能由一个消费者去消费,可以在里面保证消息的顺序性。

2023-06-11 19:37:37 1544

原创 Hbase安装及简介

HBase 是一个面向列式存储的分布式数据库,其设计思想来源于 Google 的 BigTable 论文。HBase 底层存储基于 HDFS 实现,集群的管理基于 ZooKeeper 实现。HBase 良好的分布式架构设计为海量数据的快速存储、随机访问提供了可能,基于数据副本机制和分区机制可以轻松实现在线扩容、缩容和数据容灾是大数据领域中 Key-Value 数据结构存储最常用的数据库方案。

2023-06-09 19:31:14 1303

原创 Kafka运维监控:Kafka-Eagle安装

kafka自身并没有集成监控管理系统,因此对kafka的监控管理比较不便,好在有大量的第三方监控管理系统来使用,常见的有:Kafka Manager(雅虎开源的Kafka集群管理器)还有JMX接口自开发监控管理系统。

2023-06-08 20:22:33 1152

原创 kafka事务(伪事务)

Kafka的事务控制原理主要原理: 开始事务-->发送一个ControlBatch消息(事务开始)提交事务-->发送一个ControlBatch消息(事务提交)放弃事务-->发送一个ControlBatch消息(事务终止)开启事务的必须配置参数(我不支持数据得回滚,但是我能做到,一荣俱荣,一损俱损)

2023-06-07 15:45:00 756

原创 kafka系统的架构

Kafka 中的索引文件以稀疏索引( sparse index )的方式构造消息的索引,它并不保证每个消息在索引文件中都有对应的索引;每当写入一定量(由 broker 端参数 log.index.interval.bytes 指定,默认值为 4096 ,即 4KB )的消息时,偏移量索引文件和时间戳索引文件分别增加一个偏移量索引项和时间戳索引项,增大或减小 log.index.interval.bytes的值,对应地可以缩小或增加索引项的密度;1,append time),[4,5,6,7]位保留;

2023-06-06 19:23:07 936

原创 Kafka练习

用hashset来实现很显然会出问题,如果数据量一直往上增长,会出现oom的问题,而且占用资源越来越多,影响电脑性能!方案二:将HashSet改成bitMap来计数,就很完美,大逻辑不变,小逻辑就是将HashMap改成bitMap。2.将每条数据添加一个字段来标识,如果这个用户的id是第一次出现,那么就标注1,否则就是0。需求:写一个生产者,不断的去生产用户行为数据,写入到kafka的一个topic中。需求二:判断来没来过的问题,可以用bitmap来搞,当然还可以用布隆过滤器来搞。

2023-06-05 19:51:09 575

原创 Kafka生产者与消费者api示例

consumer的消费位移提交方式:全自动定时提交到consumer_offsets半自动然后手动触发提交 consumer.commitSync();提交到consumer_offsets全手动写自己的代码去把消费位移保存到你自己的地方mysql/zk/redis/提交到自己所涉及的存储;初始化时也需要自己去从自定义存储中查询到消费位移。

2023-06-04 19:40:34 1353

原创 zookeeper的安装部署

1安装zookeeper集群。

2023-06-02 17:57:33 154

原创 redis--模拟lol英雄出场的TOPN | pubsub发布订阅频道

需求:实时的返回每个英雄出场的频次。

2023-06-01 20:05:52 88

原创 使用redis模拟手机验证码发送及消费者与生产者案例

规定一个手机号一天只能请求三次验证码,且每次请求的验证码只有一分钟就会过期。

2023-05-31 21:00:40 74

原创 SQL综合案例之电商漏斗转化分析,pv,uv及

注册转化漏斗 : 启动APP --> APP注册页面--->注册结果 -->提交订单-->支付成功。秒杀活动选购转化漏斗: 点击秒杀活动-->参加活动--->参与秒杀-->秒杀成功--->成功支付。搜购转化漏斗 : 搜索商品--> 点击商品--->加入购物车-->提交订单-->支付成功。1. 先将用户的事件序列,按照漏斗模型定义的条件进行过滤,留下满足条件的事件。不同的业务场景有不同的业务路径 : 有先后顺序, 事件可以出现多次。3. 将拼接好的字符串,匹配漏斗模型抽象出来的正则表达式。

2023-05-30 20:59:35 958

原创 Doris窗口函数经典案例:遇到标志划分组

【代码】Doris窗口函数经典案例:遇到标志划分组。

2023-05-29 19:40:10 544

原创 Doris----Rollup表分析及案例实现

ROLLUP 在多维分析中是“上卷”的意思,即将数据按某种指定的粒度。

2023-05-28 19:22:43 1296

原创 Doris---索引

因为如果创建在低基数的列上,比如 “性别” 列,则每个Block几乎都会包含所有取值,导致BloomFilter索引失去意义。虽然还没有超过36个字节,但是已经遇到了一个varchar字段,它自动截断,不会再往后面取了。在doris中是以tablet为粒度创建的,给每一个tablet创建一个布隆过滤器索引。示例2:以下表中我们定义了:age,user_name,message作为表的key。BloomFilter是在无法利用前缀索引的查询场景中,来加快查询速度的。时,可以极大的加快查询速度。

2023-05-27 15:53:39 1778

原创 Doris-----Aggregate 聚合模型及案例实现

表中的列按照是否设置了 AggregationType,分为 Key(维度列)和 Value(指标列),没有设置 AggregationType 的称为 Key,设置了 AggregationType 的称为 Value。当我们导入数据时,对于 Key 列相同的行会聚合成一行,而 Value 列会按照设置的AggregationType 进行聚合。查看数据的时候发现,数据只剩下6条了,就是因为再key相同的时候,将后面的结果聚合了。SUM:求和,多行的 Value 进行累加。MAX:保留最大值。

2023-05-26 19:35:40 1932

原创 Doris---数据表设计

Partition 支持通过 VALUES LESS THAN (...) 仅指定上界,系统会将前一个分区的上界作为该分区的下界,生成一个左闭右开的区间。此时,当多个点查询并发时,这些查询有较大的概率分别触发不同的分桶扫描,各个查询之间的IO影响较小(尤其当不同桶分布在不同磁盘上时),所以这种方式适合高并发的点查询场景。当不使用 Partition 建表时,系统会自动生成一个和表名同名的,全值范围的 Partition。一个表的 Tablet 数量,在不考虑扩容的情况下,推荐略多于整个集群的磁盘数量。

2023-05-25 19:27:59 996

原创 Hive---拉链表设计与实现

拉链表的设计是将更新的数据进行状态记录,没有发生更新的数据不进行状态存储,用于存储所有数据在不同时间上的所有状态,通过时间进行标记每个状态的生命周期,查询时,根据需求可以获取指定时间范围状态的数据,默认用9999-12-31等最大值来表示最新状态。假如在1号已经在hive中创建了表并拉取了数据,但是在2号时MySQL中新增2条用户注册数据,并且有1条用户数据发生更新.由于每天都会有用户注册,产生新的用户信息,那么每天都需要将MySQL中的用户数据同步到Hive数据仓库中.2号再创建一张表拉取所有数据。

2023-05-23 15:55:41 1250

原创 HQL函数--打地鼠游戏及WordCount案例分析及实现

m int -- 是否命中 1命中 0 未命中。hit int , -- 第几次打地鼠。uid int , -- 用户名。查询用户最大连续命中次数。

2023-05-22 18:44:25 497

原创 Git的安装与连接

如果你还没有远程仓库,可以在GitHub或GitLab等网站上创建一个新的仓库。创建完成后,将仓库地址复制下来,然后使用上述命令将本地仓库与远程仓库连接。这个命令将本地的master分支推送到远程仓库,并将其设置为默认分支。如果你使用的是其他分支,可以将"master"替换为你的分支名。如果你使用的是其他分支,可以将"master"替换为你的分支名。接下来,我们需要连接到远程仓库。除了推送代码,我们还可以从远程仓库拉取代码。将"<remote repository URL>"替换为你的远程仓库地址。

2023-05-21 18:38:49 1195

原创 HQL查询练习

- 创建分区表记录每天用户登陆信息。liuyan,语文,100。liuyan,英语,100。tangyan,语文,80。tangyan,数学,98。tangyan,英语,60。liuyan,数学,99。

2023-05-20 14:17:49 611

原创 Hive可视化工具----DBeaver IDEA

将库中原有的驱动删除,将资料中的hive-jdbc-3.12的驱动添加进来.点击确定.DBeaver社区版,开源免费 这个软件不只可以连接hive还可以连接mysql.填写要连接的主机和用户名 ,密码可以不填,之后点击编辑驱动.idea,创建一个项目即可。

2023-05-19 18:55:37 718

原创 hive安装和部署

将资料中的mysql-connector-java-5.1.47.jar 上传到 /opt/apps/hive-3.1.2/lib。而高版本的的hadoop的/opt/apps/hadoop-3.1.1/share/hadoop/common/lib。1>/dev/null:首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。1 :表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"包括分布式存储、分布式计算。

2023-05-18 19:57:20 617

原创 win10修改用户文件夹名称

进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ProfileList。在该目录下依次点击,一般为倒数第二个,找到需要修改的用户名称双击修改。user用户名为中文在运行程序时可能会导致报错,因此需修改用户名。5.修改环境变量,将带有原用户名文件路径的环境变量进行修改即可。3.win+r 输入regedit,修改注册表。2.注销现在的账户,登录新创建的用户。对user用户名进行修改。4.重启,登录原有账户。

2023-05-17 16:30:00 619 1

原创 快速排序实现原理及代码

【代码】快速排序实现原理及代码。

2023-05-16 18:59:08 37

原创 MapReduce:Index索引案例

【代码】MapReduce:Index索引案例。

2023-05-15 19:10:39 441

原创 MapReduce---JOIN案例的实现

order.txtuser.txt最终结果。

2023-05-14 18:51:26 264

原创 MapReduce

2023-05-13 14:59:49 33

原创 org.apache.hadoop.io.nativeio.NativeIO$Windows.access0问题的解决

需在java项目中重新创建一个包,将NativeIO.java进行重写。NativeIO.java代码如下。修改之后,重新运行项目即可.

2023-05-12 19:27:15 2156 5

原创 Hadoop上传及下载数据流程

网络拓扑节点距离:两个节点到达共同父节点的距离和机架感知 ( 副本节点的选择 )例如:500个节点,上传数据my.tar.gz,副本数为3,根据机架感知,副本数据存储节点的选择。BlockHDFS中的文件在物理上是分块存储的,即分成Block;block在Hadoop不同版本大小不同:Pipeline,中文翻译为管道。这是HDFS在上传文件写数据过程中采用的一种数据传输方式。

2023-05-11 20:21:29 563

原创 FileSystem使用

public void copyToLocalFile(Path src, Path dst) 将文件系统上的文件下载到本地。public void copyFromLocalFile(Path src, Path dst) 将本地文件上传到文件系统。public FileStatus[] listStatus(Path f) 列出目录下所有的内容 包括文件 文件夹。public FSDataOutputStream append(Path path) 向指定的文件路径中追加写入数据。

2023-05-10 17:15:00 678

原创 HDFS分布式文件系统

存储原理环境java环境集群中的每台机器的ip主机名域名映射关闭防火墙时间同步ssh免密步骤上传解压配置分发初始化启动安装过程rz 命令上传 将hadoop-3.1.1.tar.gz 上传到/opt/appsrz 上传解压删除文档 rm -rf /opt/apps/hadoop-3.1.1/share/doc配置配置JavaHomeshift + G 最后一行 o 下一行插入配置namenode。

2023-05-09 19:59:26 40

原创 SHELL编程

变量定义变量名=变量值 #注意不能有空格删除变量unset 变量名声明常量 readonly变量,不能使用unset变量name=zssname=lss 改值age=23gender=Mreadonly USERNAME=Ly 不可变的变量 常量取值$name${name}"$name"'$name' ---> $name的字符串注意字符串的拼接echo "$name"aaa lssaaa ""号中取变量的值可以正常取出。

2023-05-08 19:00:31 28

原创 linux网络命令

10h ago -- 防火墙在运行。[root@localhost ~]# vi /etc/hostname -- 修改主机名 永久。[root@localhost ~]# hostname linux01 -- 临时修改主机名。systemctl status network -- 查看网络服务状态。[root@localhost ~]# hostname -- 查看当前主机名。-- 关闭NetworkManager网络服务 避免和network冲突。

2023-05-07 19:31:18 276

原创 Linux基础命令

touch /root/a.txt /root/b.txt /root/c.txt 在root下创建 a.txt b.txt c.txt。mv /root/c.txt /home/ccc.txt 将root下的c.txt移动到home下并改名为ccc.txt。eg:# touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件。cp a.txt b.txt 将a.txt文件 复制成b.txt 复制并改名。

2023-05-06 16:06:40 669

原创 JDBC 连接池

增删改 java.sql.Statement 方法: int executeUpdate(String sql) 执行增删改的语句。查 java.sql.Statement 方法: ResultSet executeQuery(String sql)String url:数据库连接 jdbc:mysql://IP:3306/数据库名。执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。获取一个可以执行sql语句的对象。

2023-04-30 15:15:00 37

原创 多表查询练习

- 7、将员工薪水大于1200且部门平均薪水大于1500的部门编号列出来,按部门平均薪水降序排列。-- 2、查询姓名第二个字母不是”A”且薪水大于800元的员工信息,按薪水降序排列。-- 1、按员工编号升序排列不在10号部门工作的员工信息。-- 10、求各个部门薪水最高的员工信息 显示部门名称。-- 6、求平均薪水大于2000的部门编号。-- 5、求每个部门每个职位的最高薪水。-- 9、求多于平均薪水的员工信息。-- 8、求最高薪水的员工信息。-- 3、求每个部门的平均薪水。

2023-04-29 14:27:43 50

原创 MYSQL约束及多表查询

3.alter修改表结构 ALTER TABLE persons ADD [CONSTRAINT 名称] PRIMARY KEY (字段列表)2.创建表时,在constraint约束区域,声明指定字段为主键 CONSTRAINT 名称 PRIMARY KEY (字段列表)请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。3.创建表时 不指定 使用修改表结构的方式添加。1.创建数据库表时 直接添加主键约束。1.创建表时 直接在列后指定约束。

2023-04-28 18:56:22 113

原创 MYSQL单表练习

- 4. 选择雇用时间在1981-02-01到1987-05-01之间的员工姓名,job_id和雇用时间。-- 11. 查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)-- 14. 查询各deptno的员工工资的最大值,最小值,平均值,总和。-- 3. 选择工资不在500到1200的员工的姓名和工资。-- 6. 选择在1981年雇用的员工的姓名和雇用时间。-- 8. 选择公司中有奖金的员工姓名,工资和奖金级别。

2023-04-27 15:28:33 33

原创 MYSQL

- 查看所有数据库-- 使用数据库USE mysql;-- 创建数据库-- 创建数据库指定编码 编码已经修改的 可以不用-- 使用day01USE day01;-- 查看某个数据库的定义的信息:-- 删除数据库-- 查看正在使用的数据库。

2023-04-26 19:58:52 34

空空如也

空空如也

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

TA关注的人

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