随笔分类 -  面试

数据的列式与行式存储以及大数据的存储格式
摘要:一、数据的列式与行式存储 1、列式存储是相对于传统关系型数据库的行式存储来说的。两者的区别就是如何组织表;从下图可知,行式存储是将数据的一条记录(多列组成)存储起来的,但是列式存储是将数据的一条记录的各列分开进行存储。 2、区别 (1)数据写入区别 1)行存储的写入是一次完成。可以保证写入过程的成功 阅读全文

posted @ 2020-09-23 15:04 hdc520 阅读(1851) 评论(0) 推荐(0) 编辑

Spark的BlockManager数据存储与管理机制
摘要:一、概述 BlockManager是整个Spark底层负责数据存储与管理的一个组件,Driver和Executor的所有数据都由相应节点上的BlockManager进行管理。 (1)driver端上的存储与管理 Driver上有BlockManagerMaster,负责对各个节点上的BlockMan 阅读全文

posted @ 2020-09-16 10:46 hdc520 阅读(359) 评论(0) 推荐(0) 编辑

java1.8的新特性
摘要:一、lambda表达式与函数式接口 (1)lambda表达式:lambda表达式本质上是一段匿名内部类即接口使用匿名方式创建对象,也可以是一段可以传递的代码 //匿名内部类 Comparator<Integer> cpt = new Comparator<Integer>() { @Override 阅读全文

posted @ 2020-09-11 10:37 hdc520 阅读(319) 评论(0) 推荐(0) 编辑

树和图详解
摘要:(1)二叉树的性质 1、在二叉树的第 i 层上至多有2^(i-1)个节点 2、深度为 k 的二叉树至多有2^(k)-1个节点 3、对于任何一个二叉树,若其叶子节点数为n1,度为2的节点数为n2,则n1=n2+1 树的节点树=所有节点度之和+1 4、具有n个节点的完全二叉树的深度为floor(log( 阅读全文

posted @ 2020-09-08 09:49 hdc520 阅读(1351) 评论(0) 推荐(0) 编辑

wordcount代码示例
摘要:一、wordCount 基类Mapper类和Reducer类中都是只包含四个方法:setup方法,cleanup方法,run方法,map方法。在run方法中调用了上面的三个方法:setup方法,map方法,cleanup方法。其中setup方法和cleanup方法默认是不做任何操作,且它们只被执行一 阅读全文

posted @ 2020-06-27 12:14 hdc520 阅读(480) 评论(0) 推荐(0) 编辑

求两数之和
摘要:(1)字符串表示两数 题目:输入两个非空二进制字符串且只包含数字 1 和 0。返回两数之和; 输入: a = "11", b = "1" 输出: "100" 1 class Solution { 2 public String addBinary(String a, String b) { 3 St 阅读全文

posted @ 2020-06-23 10:35 hdc520 阅读(287) 评论(0) 推荐(0) 编辑

mapreduce求topN
摘要:(1)利用TreeMap排序,该方式利用小顶堆和集合重复原理的方式 , 每过来一个数据 , 跟堆顶数据进行比较 , 如果比最小的大 , 则将过来的数据替换堆顶元素 , 否则直接跳过数据 . 以此对数据进行排序。 (2)在众多的Mapper的端,首先计算出各端Mapper的TopN,然后在将每一个Ma 阅读全文

posted @ 2020-05-16 15:56 hdc520 阅读(1218) 评论(0) 推荐(0) 编辑

hive常考SQL题
摘要:sql执行顺序:from -> on -> join -> where -> group by -> 聚集函数 -> having -> having -> select ->distinct -> union -> order by -> limit (1)分组求最大值 1、单表分组最大 //在每 阅读全文

posted @ 2020-05-16 14:29 hdc520 阅读(1728) 评论(0) 推荐(0) 编辑

spark的shuffle过程
摘要:(1)shuffle的概述 Shuffle描述着数据从map task输出到reduce task输入的这段过程。因为是分布式存储,reduce task需要跨节点去拉取其它节点上的map task结果。这一过程将会产生网络资源消耗和内存,磁盘IO的消耗。通常shuffle分为两部分:Map阶段的数 阅读全文

posted @ 2020-05-07 16:30 hdc520 阅读(1098) 评论(0) 推荐(0) 编辑

Azkaban介绍
摘要:(1)Azkaban概述 Azkaban是一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。 (2)Azkaban安装部署 1、安装好以下三个服务器,a 阅读全文

posted @ 2020-05-05 20:52 hdc520 阅读(347) 评论(0) 推荐(0) 编辑

kafka面试整理
摘要:1、kafka的选取机制 它负责管理整个集群中所有分区和副本的状态。当某个分区的leader副本出现故障时,由controller负责为该分区选举新的leader副本。当检测到某个分区的ISR集合发生变化时,由controller负责通知所有broker更新其元数据信息。当使用kafka-topic 阅读全文

posted @ 2020-05-01 21:24 hdc520 阅读(578) 评论(0) 推荐(0) 编辑

java死锁程序
摘要:(1)死锁案例 /** * 一个简单的死锁类 * main方法中启动两个线程,分别调用methodA和methodB方法 * methodA方法首先获取到a对象的锁,睡眠1秒钟 * 此时methodB方法执行获取到b对象的锁,睡眠1秒 * 此时methodA需要去获取b对象的锁才能继续执行,但是b锁 阅读全文

posted @ 2020-04-30 20:31 hdc520 阅读(215) 评论(0) 推荐(0) 编辑

Hive以及spark的Join过程
摘要:Join大致包括三个要素:Join方式、Join条件以及过滤条件。其中过滤条件也可以通过AND语句放在Join条件中。 二、Hive/MR中的Join可分为Common Join(Reduce阶段完成join)和Map Join(Map阶段完成join)。介绍两种join的原理和机制。 (1)Com 阅读全文

posted @ 2020-04-28 10:41 hdc520 阅读(1779) 评论(0) 推荐(0) 编辑

B树与B+树以及红黑树
摘要:1、B树与B+树 (1)B树与B+树的区别 1)B+树中只有叶子节点会带有指向记录的指针;而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。 2)B+树中所有叶子节点都是通过指针连接在一起,而B树不会。 (2)B树与B+树的优缺点 1)B树优点:由于B树的每一个节点都包含key和 阅读全文

posted @ 2020-04-14 20:51 hdc520 阅读(4211) 评论(0) 推荐(0) 编辑

Java中Comparable与Comparator的区别
摘要:1、Comparator Comparator是比较接口,我们如果需要控制某个类的次序,而该类本身不支持排序(即没有实现Comparable接口),那么我们就可以建立一个“该类的比较器”来进行排序,(n1,n2) => n1<n2 return 1 降序;n1==n2 return 1 原序 数组如 阅读全文

posted @ 2020-03-31 21:44 hdc520 阅读(214) 评论(0) 推荐(0) 编辑

经典的排序算法
摘要:1、冒泡 void BubbleSort(int[]nums,int n){ for(int i=0;i<a.length;i++){ flag=0; for(int j=0;j<a.length-1-i;j++){ if(a[j]<a[j+1]){ int tmp=a[j]; a[j]=a[j+1 阅读全文

posted @ 2020-03-31 21:28 hdc520 阅读(172) 评论(0) 推荐(0) 编辑

Java之多线程讲解
摘要:1、线程的创建 (1)继承Thread类创建线程类,代码如下: //1、定义一个继承Thread类的子类,并重写该类的run()方法; //2、创建Thread子类的实例,即创建了线程对象; //3、调用该线程对象的start()方法启动线程。 class SomeThead extends Thr 阅读全文

posted @ 2020-03-29 17:17 hdc520 阅读(287) 评论(0) 推荐(0) 编辑

Hive的面试整理
摘要:1、hive的作用: hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 相对于mapreduce 离线计算需要写很多java代码去实现数据提取,hive可以通过类SQL语句快速实 阅读全文

posted @ 2020-03-28 17:45 hdc520 阅读(718) 评论(0) 推荐(0) 编辑

Spark面试整理
摘要:一、spark的优势: 1、每一个作业独立调度,可以把所有的作业做一个图进行调度,各个作业之间相互依赖,在调度过程中一起调度,速度快。 2、所有过程都基于内存,所以通常也将Spark称作是基于内存的迭代式运算框架。 3、spark提供了更丰富的算子,让操作更方便。 二、为什么Spark比Map Re 阅读全文

posted @ 2020-03-28 17:29 hdc520 阅读(2944) 评论(0) 推荐(2) 编辑

导航