自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【2025大数据秋招】每日一题-最小高度树

我们可以使用List<List<>>来构建一个图,并且可以通过队列删除叶子节点的方式得到多叉树的最矮高度。虽然过程有点抽象,但是经过debug之后一切都清晰起来。

2024-03-17 21:26:23 1159

原创 【2025大数据秋招】Java中的HashMap原理细节揭秘

大家好,我是准备2025年秋招的一枚小硕clown,主攻大数据开发,欢迎大家交流大数据!祝大家天天开心!

2024-03-17 14:50:01 395

原创 【2025大数据秋招】SQL练习篇

最后一步是我们需要将用户新增表和用户活跃表进行join操作,因为我们需要计算的是每天的用户留存率,所以在group by字段当中我们选择时间字段。接着,针对求解次日留存率的情况,也就是意味着t1表当中的时间应该是等于t2表中的时间的前一天,因为当天用户注册了之后,第二天的时候活跃了,这时候才能计入用户留存率里边。接下来我们需要获取用户新增表,那么我们需要获取到用户第一次登录的时间,我们需要使用函数Min()来获取用户第一次登录的时间。1、我们首先需要获取新增用户表和用户活跃表两张表。

2024-03-16 17:30:29 589

原创 每日一题-矩阵中移动的最大次数

从单元格 (row, col) 可以移动到 (row - 1, col + 1)、(row, col + 1) 和 (row + 1, col + 1) 三个单元格中任一满足值 严格 大于当前单元格的单元格。2、我们需要递归的方向,不难看出,我们递归的方向是向右上方、右边以及右下方的方向进行遍历,并且每次遍历一格。由于我们都是按照往右移动一步,所以我们最长的路径的上限是矩阵的列数。4、我们需要标记递归过的格子,因为我们取得都是递增的,所以我们将格子的值设置为0,那么我们就不会再次进行遍历了。

2024-03-16 12:36:11 366

原创 每日一题-合并后数组的最大元素

如果从前往后进行遍历,那么如果是出现了[5,3,3]这种案例的情况,会发现后面的3和3进行合并之后,数组变成了[5,6],这个时候我们还需要再合并,这并不符合贪心的思想,并且我们需要遍历多次。这时候使用栈的话就比较麻烦,从后往前进行遍历的思想是能够一次性进行处理的,其中这个是能够很好地处理这个求和的问题。

2024-03-14 10:40:26 218

原创 Spark学习笔记-如何创建RDD

其中local[*]表示的是获取cpu中全部的核数,如果不传入参数,则表示的是单线程传入单核。接下来我们需要从内存中创建一个RDD,将内存中集合数据作为处理的数据源。表示的是创建一个并行集合,使用slices来将数据集划分为几分数据。接着我们需要声明一个上下文的控制对象,2、从外部存储系统数据集当中创建RDD。比如有HDFS、HBase。

2023-08-18 11:14:28 108

原创 【面试】Sqoop导入HDFS

比如说在Gmall这张表当中包含了很多个不同的字段,其中有id、name、nickname、login_name等字段,那么如果我们需要的是id和login_name字段的话,我们就需要做出筛选。在MapReduce输出是,首先会检查输出路径是否存在,所以sqoop在将数据输出之前,会检查target-dir是否存在。设置如下命令,可以检测,如果该路径存在首先会先删除再创建。在MySQL中存储的数据都是结构化数据,每个不同的字段之间是通过分隔符,例如’\t’来划分的。

2023-08-08 13:21:07 108

原创 【面试】项目细节-flume采集数据细节

使用fastjson来判断JSON数据是否是“{”开头等,我们需要实现一个类,这个类继承了Interceptor类,需要实现初始化和close方法,单event处理和多event处理。根据上述配置,我们可以利用flume采集数据,将数据传入Kafka缓存区中,接下来,我们需要思考的问题是如果Kafka缓存区中的数据消费不到数据怎么办?我们该如何排查这个问题?接着我们需要校验数据,校验数据我们需要自己实现一个类,这个类是JSONUtils(自己实现),实现一个isValidate()方法。

2023-08-07 21:21:51 709

原创 【大数据-电商数仓项目笔记整合】即席查询-Kylin篇

Kylin的原理是为了应对hive表中用户不同的查询要求,Kylin穷举所有的计算结果。该即席查询工具是为了方便多维度分析。OLAP的通俗的理解是软件技术,能够使分析人员迅速地、一致地、交互地从各个方面观察信息,也就是从不同维度、各个方面了解信息。举例来说,比如我们需要分析订单金额总和的规律,需要从不同的角度去观察我们可以分别从地区、品类、时间三个维度来观察订单金额总和,实际上可以得出结论共有2n−1个角度来分析数据。上述可以从7种角度来观察数据。

2023-07-28 20:58:21 143

原创 DataGrip无法连接上hive原因

需要注意的是在Hiveserver2启动的时候,需要等待所有的session_id都启动之后,才能够连接成功。此时要么是忘记启动hive,要么就是忘记启动了hiveserver2。启动之后就可以解决这个问题。

2023-06-11 14:13:54 769

原创 Hive on Spark RPC channel is closed

如果需要获取yarn的application的日志,首先需要获取到该applicationID,需要以下命令获取到ID(注意,如果application是完成状态,则无法查到需要使用别的命令)这个命令可以获取到对应的application的ID,在获取到applicaitonID的基础上,我们需要用yarn命令查看日志。所以,使用hadoop命令在HDFS上创建spark-history文件就可以解决这个问题了。最后通过日志可以发现,出现了以下的错误,即spark-history没有创建。

2023-06-07 23:43:45 805

原创 win11配置JDK和maven环境变量

win11配置maven环境变量

2022-10-05 15:37:14 204

原创 sklearn.exceptions.NotFittedError: This MinMaxScaler instance is not fitted yet. Call ‘fit‘ with app

fit_transform方法的异常

2022-08-17 14:09:06 2675 2

转载 计算机网络——拥塞控制

拥塞控制和流量控制虽然采取的动作相似,但拥塞控制与网络的拥堵情况相关联,而流量控制与接收方的缓存状态相关联。一、为何要进行拥塞控制?为了方便,我们假设主机A和主机B传输数据。我们知道,两台主机在传输数据包的时候,如果发送方迟迟没有收到接收方的反馈的ACK,那么发送方就会认为它发送的数据包丢失了,进而会重新传输这个丢失的数据包。先说说什么是ACK:ACK:全称为Acknowledge character,即为确认字符,表示接收到的字符无误。接收站对所受到的报文进行检查,若未发现错误,便向发送站发出

2020-05-12 09:41:23 460

原创 计算机网络——两台天各一方的计算机,是如何把数据发送给对方的?

用最简洁的模式,通过网络通信的五层模型来讲解一台计算机是如何找到另外一台计算机并且把数据发送给另一台计算机的。以下是计算机网络五层模型:一、物理层如果一台计算机要传输数据给另外一台计算机,第一件要做的事情是什么?最容易想到的就是要把这台计算机通过某种介质与另外一台计算机连起来,这样我们才能把数据传输过去。例如:通过光纤、电缆、双绞线等。也就是说,物理层通过负责把两台计算机连起来,然后在计算机之间通过高低电频来传送0,1信号。二、数据链路层前面说了,物理层它只是单纯负责把计算机连接起来,并且

2020-05-11 14:00:10 1283 1

原创 寄存器和内存之间的比较

计算机的存储层次之中,寄存器最快,内存其次,最慢的是硬盘。同样是晶体管存储设备,为什么寄存器比内存快呢?原因一:距离不同距离不是主要因素,但是最好懂,所以要放在前面说。内存距离CPU比较远,所以要耗费更长时间读取。以3Ghz的CPU为例,电流每秒钟可以振荡30亿次,每次耗时约0.33纳秒。光在1纳秒的时间内,可以前进30厘米。也就是说,在CPU的一个时钟周期内,光可以前进10厘米。因此如果内存距离CPU超过5厘米,就不能在一个时钟周期内完成数据的读取,这还没有考虑硬件的限制和电流实际上达不到光速。相

2020-05-09 08:57:47 511

原创 数据结构———并查集

并查集的基本思想1. 什么是并查集并查集(union-find set)是一种用于分离集合操作的抽象数据结构。它所处理的是“集合”之间的关系,即动态地维护和处理集合元素之间复杂的关系,当给出的两个元素的一个无序对(a,b)时,需要快速“合并”a和b所在的集合,这其间需要反复“查找”某元素所在的集合。“并”、“查”和“集”三字由此而来。在这种数据类型中,n个不同的 元素被分为若干组,每组是一个...

2020-05-08 13:43:26 175

转载 数据结构——堆结构的总结

关于堆结构从以下几个方面总结关于此数据结构的问题:生产中的常见问题堆的定义堆的基本操作堆排序堆在生产中的应用生产中的常见问题优先队列的应用场景很广,它是如何实现的呢?如何求解TopK问题TP99是生产中的一个非常重要的指标,如何快速计算堆的定义堆是一颗完全二叉树,这样实现的堆也被称为二叉堆堆中节点的值都大于等于(或小于等于)其子节点的值,堆中如果节点值都大于等...

2020-05-03 13:31:46 342 1

原创 2020-3-23-动态规划练习题第一题

采药辰辰是个很有潜能、天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。“孩子,这个山洞里有一些不同的草药,采每一株都要一些时间,每一株也有它的价值。给你一段时间,你可以采到一些药草,你应该可以让采到的药草价值最大。”输入:输入的第一行有两个整数T(1<=T<=1000)和M(1<=M<=10...

2020-03-25 21:36:03 277

原创 计算机组成原理——第五章 输入输出系统错误总结

在_单线_的计算机系统中,外部设备可以和主存储器单元统一编址,因此可以不使用I/O指令。解释:外部设备和主存储器单元统一编址的时候,外部设备的地址看作主存储器的地址的一部分。所以可以把外部设备看作是主存储器的一部分,可以通过一条总线就可以控制编址。在数据传送过程中,数据由串行变成并行或由并行变成串行,这种转换是通过接口电路中的_移位寄存器_.**解释:在数字电路中,用来存放二进制数据...

2019-09-22 09:41:04 1418 1

原创 计算机组成原理——第五章 输入输出系统(3)

程序查询方式程序查询流程程序查询方式的核心问题在于每时每刻需不断查询I/O设备是否准备就绪。当I/O设备较多时,CPU需要按各个I/O设备在系统中的优先级别进行逐级查询,为了完成查询需要执行以下的三种命令测试指令,用来查询I/O设备是否准备就绪传送指令,当I/O设备准备就绪时,执行传送指令。转移指令,若I/O设备未准备就绪,执行转移指令,转至测试指令,转至测试指令,继续测试I/O设备...

2019-09-19 15:16:24 624

原创 计算机组成————第五章 输入输出系统(2)

I/O接口概述:接口可以看作是两个系统或者两个部件之间的交接部分,它可以是两种硬设备之间的连接电路,也可以是两个软件之间的共同的逻辑边界。I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及相应的软件控制。 不同的I/O设备都有其相应的设备控制器,而它们往往都是通过I/O接口与主机取得联系。设置接口的原因:一台机器通常配有多台I/O设备,它们有各自有其设备号(地址),通过接口可是实...

2019-09-19 14:46:29 933

原创 计算机组成——第五章 输入输出系统(1)

输入输出系统的发展概况1、早期阶段早期的I/O设备较少,I/O设备与主存交换信息必须通过CPU。2、接口和DMA阶段这个阶段I/O设备通过接口模块与主机连接,计算机系统采用了总线的结构。(图片参考计算机组成原理157页图)通常,在接口中都设有数据通路和控制通路。数据经过接口既起到缓冲作用,又可以完成串-并变化。控制通路用以传送CPU向I/O设备发出各种控制命令。问题:这个阶段实现了C...

2019-09-15 15:40:23 485

原创 自定义函数

自定义函数定义:用户自定义函数是一种MySQL扩展的途径,其用法与内置函数相同。自定义函数的两个必要条件1、参数2、返回值函数可以返回任意类型的值,同样可以接收这些类型的参数语法格式:CREATE FUNCTION function_nameRETURNS{STRING|INTEGER |REAL|DECIMAL}routine_body函数体:1、函数体由合法的SQL语句...

2019-07-27 21:28:08 158

原创 MySQL运算符和函数

[NOT] LIKE字符函数该函数的作用是模式的匹配,例子:这是test1的数据表,如果要查询有“o”的数据则通过以下代码:SELECT * FROM test1 WHERE first_name LIKE '%o%';如果需要匹配“%”的话,需要注意的是在MySQL中 %的作用类似于*,即当作一个通配符的来使用,MySQL中无论是多少个%,都会当作通配符使用,所以需要在“%%%”中加...

2019-07-27 20:18:05 59

原创 MySQL的子查询和连接知识点

子查询子查询是指出现在其他SQL语句内的SELECT子句。例如:SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2);其中SELECT * FROM t1 ,称为Outer Query/ Outer Statement(即外层的查询)SELECT col2 FROM t2 ,称为SubQuery(子查询)子查询指嵌套在查询内部,且必须始...

2019-07-27 15:24:50 185

原创 MySQL的知识笔记记录(1-4)

问:MySQL默认的端口号是: 答:3306问:MySQL中的超级用户叫什么? 答:rootMySQL退出:1、exit;2、quit;3、\q连接客户端时通过参数指定:shell>mysql -uroot -proot --prompt提示符例:如果提示符是“\h”,这代表的是服务器的名称连上客户端后,通过prompt命令修改:mysql>prompt...

2019-07-26 14:33:45 93

原创 关于class类反射知识小总结

class类1、在面向对象的世界里,万事万物皆对象我们提供的每一个类也是对象问:类是谁的对象?答:类是对象,类是java.lang.class类的实例对象写一个student类,student类是class类的对象There is a class named Class2、这个对象怎么表示?public class ClassDemo1 { public static void ...

2019-07-20 22:55:37 53

原创 Java线程知识小汇总

线程状态的介绍:1、新生状态:通过start()方法到达就绪状态2、就绪状态:获得执行权的时候到达运行状态3、运行状态:a.当失去执行权的时候b.通过synchronized关键字的使用之后产生同步阻塞,表明对象锁或者class锁可用时c.通过wait()方法达到等待阻塞状态d.通过调用sleep()/join()方法io流阻塞等,因为其他阻塞回到就绪状态,或者在run()方法结束之...

2019-07-17 12:14:13 62

转载 关于synchronized关键字的

锁对象是什么? 锁对象指的是被锁的对象。使用锁的实质 多线程执行枷锁的方法或代码的时候,会先判断使用的锁是否被占用,如果没有被占用就获取并使用该锁,其他需要该锁的线程就处于等待状态;如果占用就需要等待该锁被释放重新尝试获取锁对象,知道获取到锁对象才能执行后面的代码或者方法。锁应该理解成一张通行证,有才能继续走,没有就要等这张通行证锁对象是一切的关键使用锁的效果和怎么使用...

2019-07-13 22:44:44 65

原创 深入理解HashMap

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-07-11 11:31:53 52

空空如也

空空如也

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

TA关注的人

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