- 博客(94)
- 收藏
- 关注
原创 三分钟快速理解Flink 作业提交流程(包工头的工程之路)
JobMaster 向 ResourceManager 申请运行 flink 作业所需要的 TaskManager,ResourceManaager 向资源管理系统(比如 Yarn)申请对应的资源;部署阶段,向ResourceManager 请求执行 flink 作业执行所需要的资源,将任务分发到不同的节点上去运行。主要用来接收 client 提交的 flink 作业,为 flink 作业启动一个 JobMaster。本文介绍了 flink 作业的提交流程,希望可以帮助到你。负责一个 flink 作业。
2024-04-23 22:39:40
1038
2
原创 一文搞懂CAP理论
C:一致性分布式环境中,保持一致性意味着数据在不同副本之间保持相同。一致性要求系统对某一数据进行修改后,一个客户端进行读操作要能保证返回最新的写入结果。当数据副本分布在不同节点的系统中,如果节点A进行了数据更新,但节点B获取到的仍是旧数据,这将导致数据不一致的情况。理想情况下,在A完成数据修改后,其他所有节点都应该能够获取到最新的数据。当系统内部发生问题导致节点无法实现一致性变化时,可能会导致读取请求获取到旧数据或者不同版本的数据。
2024-03-28 17:27:29
1192
原创 三分钟快速理解Yarn的工作流程
知识讲解之前,我们先来听一段小故事(不要带入现实)健鑫集团是一家公司,主要业务就是承接其他公司外包出去的项目,这地方是怎么运行的呢?外部想和集团达成合作,草拟个合同直接和谈,Boss 来者不拒,签完之后让对方将有关这个项目所有的东西发送到自己的邮箱。所有东西到位之后,Boss就开始在内部广而告之:“何人敢承接此项目?”这时就会有人站出来,这里叫他。然后 Boss 将这个项目交给了这个路人甲,路人甲进行评估之后向 Boss 申请了一笔启动资金,并让他根据所需人力调动其他员工,这里叫他们。
2024-03-16 13:58:28
466
原创 HDFS面试指南:掌握关键问题
在大数据领域,Hadoop分布式文件系统(HDFS)是一个重要的组成部分,它能够有效地处理和存储大规模数据。在面试中,对HDFS的理解和知识是非常重要的。本文旨在从HDFS的诞生角度出发,理清都可能出现哪些方面的问题。
2024-03-10 16:01:22
481
原创 春晚刘谦魔术——约瑟夫环
总的来说,约瑟夫环问题的思想在大数据领域有着广泛的应用,它为处理大规模数据提供了一种高效、均匀的策略,对于提高大数据处理的效率和性能有着重要的作用。
2024-02-10 11:13:32
1223
原创 魔法王国的故事——档案馆的危机
这是一个连续的专栏, 在这里,我将用一个奇幻的魔法王国的故事,来向你介绍相关内容,希望在这里可以帮助你学到有用的知识。
2024-01-21 18:42:25
487
原创 java并发-线程池
Java线程池表示一组等待工作并多次重用的工作线程。在线程池的情况下,创建了一组固定大小的线程。服务提供者从线程池中拉出一个线程并分配一个作业。完成作业后,线程再次包含在线程池中。使用线程池可以节省多线程应用程序中的资源,同时加快响应速度。线程池还可以指定线程的数量,避免线程过多这样开销太大,同时过多的线程会占用太多的内存。
2023-04-12 20:44:12
716
10
原创 Impala:大数据交互查询工具
Impala是由Cloudera公司开发的一款开源的大数据交互查询工具,能够对存储在HDFS、HBase上的数据进行快速的交互式SQL查询。Impala可以实现对PB级别的数据的实时分析,其查询速度比基于MapReduce的Hive高出3到90倍。Impala使用了类似于传统的MPP数据库技术,避免了MapReduce引擎的启动开销和中间结果落盘开销,实现了流式数据传输和内存计算。
2023-04-07 18:56:55
1931
17
原创 数据仓库简介
首先,各个部门的分析结果就会不一致,因为如果两个部门是在不同的时间抽取的同一个业务数据库的数据进行分析,结果肯定会不一致。其次,每个部门都要建立数据抽取系统,就会产生资源的浪费,每个数据抽取系统都要数据库的权限,数据库的权限管理也会变得麻烦。同时还会降低数据库的性能。一般最长调用的都是最近的数据,过早的数据调用的频率就很低。同时在数据量没到达一定的规模的时候,数据仓库处理数据的速度还是比较慢的,因为要对任务进行拆分、调度、合并,如果数据量很少的话,这个过程所要花费的时间比处理数据所花费的时间都要多。
2023-03-23 20:29:05
779
16
原创 sqoop的简易介绍
Apache Sqoop 是一个用于在 Apache Hadoop 和关系型数据库或主机之间传输数据的工具。Sqoop 可以用于从数据库导入数据到 Hadoop 中,或者将 Hadoop 中的数据导出到数据库中。它支持各种数据库,如 MySQL、Oracle、PostgreSQL、SQL Server、DB2 和 Teradata,还可以在 Hadoop 之间传输数据。
2023-03-22 22:08:25
1176
2
原创 算法练习-堆
堆必须是一个完全二叉树堆中的每个节点的值必须大于等于或者小于等于子树中每个节点的值如果堆中每个节点的值都大于等于子树中每个节点的值,这种堆叫做大根堆如果堆中每个节点的值都小于等于子树中每个节点的值,这种堆叫做小根堆由于堆是完全二叉树,所以堆适合用数组来进行存储。
2023-03-22 14:50:56
846
6
原创 算法练习-哈希表(一)
假设又100个学生,如何根据id快速查找学生信息?方案一:将所有的学生都存在一个数组中,查找id时遍历数组,时间复杂度:O(n)方案二:将数组中的数据进行排序,查找时使用二分查找,时间复杂度:O(logn)方案三:将数组下标与id一一映射 , 时间复杂度:O(1)但是如果id的范围很大,还是进行一一映射,空间开销就特别的大所以可以对id进行hash处理:id 对学生的数量取余,结果为存到数组的位置但是会产生一个问题:可能会出现多个学生取余结果相同的问题,这种情况需要解决哈希冲突。
2023-03-14 16:28:31
838
6
原创 hive调优
分区表可以减少全表的扫描,查询时先基于分区过滤,再进行查询。对于大型数据集,可以将表划分为多个分区,每个分区包含一定的数据,可以提高效率,因为查询只需要扫描需要的分区。
2023-03-11 21:30:54
337
2
原创 算法练习-二分查找(一)
二分查找的正确姿势:- 查找区间永远是闭区间[low, high]- 循环条件永远是:low < high- 对于low == high的情况,必要的时候特殊处理,在while内部补充退出条件- 返回值永远是mid,不是low、high- low、high的更新永远是low = mid + 1 和 high = mid - 1- 对于非确定性查找,使用前后探测法来确定搜索区间- 先处理命中目标,再处理左右半部分查找的情况
2023-03-06 09:15:25
488
原创 hadoop调优(二)
NameNode进程挂了并且存储数据丢失了,如何恢复NameNode?如果NameNode进程挂掉并且数据丢失了,可以利用Secondary NameNode来恢复NameNode。Secondary NameNode主要用于备份NameNode的编辑日志和文件系统镜像,以便在NameNode失败时进行快速恢复。恢复NameNode的步骤:停止所有Hadoop进程启动Secondary NameNode从Secondary NameNode备份的编辑日志和文件系统镜像中恢复NameNode元数据。
2023-03-05 11:50:58
3524
原创 算法练习-排序(二)
逆序对个数=逆序度,排序的过程是不断减小逆序度的过程,在排序过程中,记录每步操作逆序度降低的个数,累加起来就能得到原始数据的逆序度。解释:对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输入:intervals = [[1,4],[4,5]]
2023-03-04 20:47:49
742
原创 hadoop调优
每个文件块大概占用150byte,如果一台服务器128G,能存储的文件块如下128 (G)* 1024(MB) * 1024(KB) * 1024(Byte) / 150 Byte = 9.1 亿。
2023-03-03 19:53:57
2666
原创 算法练习-排序(一)
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。先把数组中的一个数当作基准数,一般把数组最左面的数当作基准数,然后从两边进行检索。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。输入: [3,2,3,1,2,4,5,5,6], k = 4。输入: [3,2,1,5,6,4], k = 2。
2023-03-01 21:43:35
420
原创 算法练习-递归
有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。一个细胞的生命周期是3小时,1小时分裂一次,求n小时后容器内有多少个细胞。当前时间点,死亡的细胞个数,为三个小时前分裂出的净细胞个数,
2023-02-26 11:17:07
519
原创 Hadoop-MapReduce
MapReduce是一个进行分布式运算的编程框架,使用户开发基于hadoop进行数据分析的核心框架。MapReduce 核心功能就是将用户编写的业务逻辑代码和自带的默认组件整合成一个完整的 分布式运算程序,并发运行在一个 Hadoop 集群上。序列化就是将内存中对象转换成字节序列,便于存储到磁盘和网络传输反序列化时将字节序列或磁盘中的持久化数据转换成内存中的对象一般来说,对象只能在本地进程中使用,不能通过网络发送到另一台计算机序列化可以存储对象,可以将对象发送到远程计算机。
2023-02-25 14:23:58
1963
原创 算法练习 - 栈和队列(一)
用两个栈实现一个队列。你应该实现push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)方法。你可以使用 list (列表)或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。
2023-02-21 19:35:40
300
原创 Hadoop - HDFS
HDFS是一个分布式文件系统,适合一次写入,多次读出的场景数据可以保存在多个副本当中,可以通过增加副本的数量来增加容错不适用于低延时数据访问的场景不能高效的对小文件进行存储因为会占用NameNode的大量内存,而NameNode的内存是有限的小文件存储的寻址时间会超过读取时间一个文件只能有一个写,不允许多个线程同时写入仅支持数据的追加操作。
2023-02-20 18:29:22
846
2
原创 数仓理论【范式】【维度建模】
维度模型分为三种:星型模型、雪花模型、星座模型星型模型标准的星型模型只有一层雪花模型雪花模型和星型模型的区别主要在于维度的层级雪花模型较为靠近3NF,但是无法完全遵守星座模型星座模型包含多个事实表,多个事实表共享维度表多个星型模型或者雪花模型会形成星座模型。
2023-02-16 11:04:49
1500
原创 hive自定义函数
hive内置的函数满足不了所有的业务需求,可以考虑自己定义函数UDF:一对一输出(upper)UDTF:一对多输出 (lateral view explode)UDAF:多对一输出(count, max, min)
2023-02-15 13:04:49
585
原创 hive开窗函数
DENSE_RANK 生成数据在分组中的排名,排名相等的不会留下空位。RANK生成数据在分组中的排名,排名相等的会在名次中留下空位。结果展示(中途插入数据忘记覆盖原数据了,但是不影响展示结果)如果没有orger by 则默认将分区内所有的数据进行sum。如果不指定rows between,默认从起点到当前行。ROW_NUMBER 从1开始,生成分组内记录的数据。其余还有avg、min、max和sum的用法一样。结果和order by相关,默认为升序。对前三行和本行和下一行进行sum。
2023-02-14 09:00:00
407
原创 hive的表生成函数
explode(col) : 将hive中array、map结构拆分成多行explode(ARRAY) : 将数组的每一个元素都生成一行explode(AMP) : 将map的每一个K-V对都生成一行,k为一行,v为一行。
2023-02-11 20:50:07
338
原创 hive内置函数
语法:round(double num)返回值:BIGINT该函数返回num的整数部分,遵循四舍五入round还可以进行指定精度语法:round(double num, int i)返回值:DOUBLE返回精度为i 的double。
2023-02-07 13:35:49
653
原创 hive的查询
cluster by具有 Distribute by 和 sort by 的功能。通常和聚合函数一起使用,分组之后,对每个组进行聚合操作。只有进行连接的两个表都存在连接条件的数据才会保留。A RLIKE B ,表示B是否在A里面。左表中符合条件的所有数据都会返回。右表中符合条件的所有数据都会返回。进行分区,结合sort by使用。返回所有表符合条件的所有数据。全局排序, 一个reduce。选择条件可以包含字符或数字。% : 代表任意个字符。_ : 代表一个字符。asc:升序(默认)
2023-02-06 11:27:45
476
原创 hive的数据库和表操作
EXTERNAL 创建一个外部表,建表的同时指定一个执行实际数据的location。hive创建内部表会将数据移动到数据仓库指向的路径。创建外部表,不会改变数据的位置。删除表的时候,内部表的元数据和数据会一起删除,外部表只删除元数据
2023-02-05 11:36:32
635
原创 hive的基本概念
hive是一个构建在hadoop上的数据仓库框架,可以将结构化的数据文件映射成一张数据库表,并提供类SQL查询功能本质上就是将SQL转换成MR的任务来进行计算,由HDFS来进行数据的存储所以hive就是一个将SQL转换成MR任务的工具,换句话说,hive就是MR的一个客户端。
2023-02-04 13:25:24
548
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅