【2025大数据秋招】每日一题-最小高度树 我们可以使用List<List<>>来构建一个图,并且可以通过队列删除叶子节点的方式得到多叉树的最矮高度。虽然过程有点抽象,但是经过debug之后一切都清晰起来。
【2025大数据秋招】SQL练习篇 最后一步是我们需要将用户新增表和用户活跃表进行join操作,因为我们需要计算的是每天的用户留存率,所以在group by字段当中我们选择时间字段。接着,针对求解次日留存率的情况,也就是意味着t1表当中的时间应该是等于t2表中的时间的前一天,因为当天用户注册了之后,第二天的时候活跃了,这时候才能计入用户留存率里边。接下来我们需要获取用户新增表,那么我们需要获取到用户第一次登录的时间,我们需要使用函数Min()来获取用户第一次登录的时间。1、我们首先需要获取新增用户表和用户活跃表两张表。
每日一题-矩阵中移动的最大次数 从单元格 (row, col) 可以移动到 (row - 1, col + 1)、(row, col + 1) 和 (row + 1, col + 1) 三个单元格中任一满足值 严格 大于当前单元格的单元格。2、我们需要递归的方向,不难看出,我们递归的方向是向右上方、右边以及右下方的方向进行遍历,并且每次遍历一格。由于我们都是按照往右移动一步,所以我们最长的路径的上限是矩阵的列数。4、我们需要标记递归过的格子,因为我们取得都是递增的,所以我们将格子的值设置为0,那么我们就不会再次进行遍历了。
每日一题-合并后数组的最大元素 如果从前往后进行遍历,那么如果是出现了[5,3,3]这种案例的情况,会发现后面的3和3进行合并之后,数组变成了[5,6],这个时候我们还需要再合并,这并不符合贪心的思想,并且我们需要遍历多次。这时候使用栈的话就比较麻烦,从后往前进行遍历的思想是能够一次性进行处理的,其中这个是能够很好地处理这个求和的问题。
Spark学习笔记-如何创建RDD 其中local[*]表示的是获取cpu中全部的核数,如果不传入参数,则表示的是单线程传入单核。接下来我们需要从内存中创建一个RDD,将内存中集合数据作为处理的数据源。表示的是创建一个并行集合,使用slices来将数据集划分为几分数据。接着我们需要声明一个上下文的控制对象,2、从外部存储系统数据集当中创建RDD。比如有HDFS、HBase。
【面试】Sqoop导入HDFS 比如说在Gmall这张表当中包含了很多个不同的字段,其中有id、name、nickname、login_name等字段,那么如果我们需要的是id和login_name字段的话,我们就需要做出筛选。在MapReduce输出是,首先会检查输出路径是否存在,所以sqoop在将数据输出之前,会检查target-dir是否存在。设置如下命令,可以检测,如果该路径存在首先会先删除再创建。在MySQL中存储的数据都是结构化数据,每个不同的字段之间是通过分隔符,例如’\t’来划分的。
【面试】项目细节-flume采集数据细节 使用fastjson来判断JSON数据是否是“{”开头等,我们需要实现一个类,这个类继承了Interceptor类,需要实现初始化和close方法,单event处理和多event处理。根据上述配置,我们可以利用flume采集数据,将数据传入Kafka缓存区中,接下来,我们需要思考的问题是如果Kafka缓存区中的数据消费不到数据怎么办?我们该如何排查这个问题?接着我们需要校验数据,校验数据我们需要自己实现一个类,这个类是JSONUtils(自己实现),实现一个isValidate()方法。
【大数据-电商数仓项目笔记整合】即席查询-Kylin篇 Kylin的原理是为了应对hive表中用户不同的查询要求,Kylin穷举所有的计算结果。该即席查询工具是为了方便多维度分析。OLAP的通俗的理解是软件技术,能够使分析人员迅速地、一致地、交互地从各个方面观察信息,也就是从不同维度、各个方面了解信息。举例来说,比如我们需要分析订单金额总和的规律,需要从不同的角度去观察我们可以分别从地区、品类、时间三个维度来观察订单金额总和,实际上可以得出结论共有2n−1个角度来分析数据。上述可以从7种角度来观察数据。
DataGrip无法连接上hive原因 需要注意的是在Hiveserver2启动的时候,需要等待所有的session_id都启动之后,才能够连接成功。此时要么是忘记启动hive,要么就是忘记启动了hiveserver2。启动之后就可以解决这个问题。
Hive on Spark RPC channel is closed 如果需要获取yarn的application的日志,首先需要获取到该applicationID,需要以下命令获取到ID(注意,如果application是完成状态,则无法查到需要使用别的命令)这个命令可以获取到对应的application的ID,在获取到applicaitonID的基础上,我们需要用yarn命令查看日志。所以,使用hadoop命令在HDFS上创建spark-history文件就可以解决这个问题了。最后通过日志可以发现,出现了以下的错误,即spark-history没有创建。
sklearn.exceptions.NotFittedError: This MinMaxScaler instance is not fitted yet. Call ‘fit‘ with app fit_transform方法的异常
计算机网络——拥塞控制 拥塞控制和流量控制虽然采取的动作相似,但拥塞控制与网络的拥堵情况相关联,而流量控制与接收方的缓存状态相关联。一、为何要进行拥塞控制?为了方便,我们假设主机A和主机B传输数据。我们知道,两台主机在传输数据包的时候,如果发送方迟迟没有收到接收方的反馈的ACK,那么发送方就会认为它发送的数据包丢失了,进而会重新传输这个丢失的数据包。先说说什么是ACK:ACK:全称为Acknowledge character,即为确认字符,表示接收到的字符无误。接收站对所受到的报文进行检查,若未发现错误,便向发送站发出
计算机网络——两台天各一方的计算机,是如何把数据发送给对方的? 用最简洁的模式,通过网络通信的五层模型来讲解一台计算机是如何找到另外一台计算机并且把数据发送给另一台计算机的。以下是计算机网络五层模型:一、物理层如果一台计算机要传输数据给另外一台计算机,第一件要做的事情是什么?最容易想到的就是要把这台计算机通过某种介质与另外一台计算机连起来,这样我们才能把数据传输过去。例如:通过光纤、电缆、双绞线等。也就是说,物理层通过负责把两台计算机连起来,然后在计算机之间通过高低电频来传送0,1信号。二、数据链路层前面说了,物理层它只是单纯负责把计算机连接起来,并且
寄存器和内存之间的比较 计算机的存储层次之中,寄存器最快,内存其次,最慢的是硬盘。同样是晶体管存储设备,为什么寄存器比内存快呢?原因一:距离不同距离不是主要因素,但是最好懂,所以要放在前面说。内存距离CPU比较远,所以要耗费更长时间读取。以3Ghz的CPU为例,电流每秒钟可以振荡30亿次,每次耗时约0.33纳秒。光在1纳秒的时间内,可以前进30厘米。也就是说,在CPU的一个时钟周期内,光可以前进10厘米。因此如果内存距离CPU超过5厘米,就不能在一个时钟周期内完成数据的读取,这还没有考虑硬件的限制和电流实际上达不到光速。相
数据结构———并查集 并查集的基本思想1. 什么是并查集并查集(union-find set)是一种用于分离集合操作的抽象数据结构。它所处理的是“集合”之间的关系,即动态地维护和处理集合元素之间复杂的关系,当给出的两个元素的一个无序对(a,b)时,需要快速“合并”a和b所在的集合,这其间需要反复“查找”某元素所在的集合。“并”、“查”和“集”三字由此而来。在这种数据类型中,n个不同的 元素被分为若干组,每组是一个...
数据结构——堆结构的总结 关于堆结构从以下几个方面总结关于此数据结构的问题:生产中的常见问题堆的定义堆的基本操作堆排序堆在生产中的应用生产中的常见问题优先队列的应用场景很广,它是如何实现的呢?如何求解TopK问题TP99是生产中的一个非常重要的指标,如何快速计算堆的定义堆是一颗完全二叉树,这样实现的堆也被称为二叉堆堆中节点的值都大于等于(或小于等于)其子节点的值,堆中如果节点值都大于等...
2020-3-23-动态规划练习题第一题 采药辰辰是个很有潜能、天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。“孩子,这个山洞里有一些不同的草药,采每一株都要一些时间,每一株也有它的价值。给你一段时间,你可以采到一些药草,你应该可以让采到的药草价值最大。”输入:输入的第一行有两个整数T(1<=T<=1000)和M(1<=M<=10...
计算机组成原理——第五章 输入输出系统错误总结 在_单线_的计算机系统中,外部设备可以和主存储器单元统一编址,因此可以不使用I/O指令。解释:外部设备和主存储器单元统一编址的时候,外部设备的地址看作主存储器的地址的一部分。所以可以把外部设备看作是主存储器的一部分,可以通过一条总线就可以控制编址。在数据传送过程中,数据由串行变成并行或由并行变成串行,这种转换是通过接口电路中的_移位寄存器_.**解释:在数字电路中,用来存放二进制数据...