自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL(hive和spark SQL)join的实现方式

SQLhive在map端joinmapJoin的主要意思就是,当链接的两个表是一个比较小的表和一个特别大的表的时候,我们把比较小的table直接放到内存中去,然后再对比较大的表格进行map操作。join就发生在map操作的时候,每当扫描一个大的table中的数据,就要去去查看小表的数据,哪条与之相符,继而进行连接。这里的join并不会涉及reduce操作。map端join的优势就是在于没有shuffle。common joincommon join也叫做shuffle join,reduc

2020-07-08 10:04:45 454

原创 MapReduce调优

常见的MapReduce调优

2020-07-07 15:42:37 155

原创 HBase宕机应该如何处理

HBase宕机分为HMaster宕机和HRegionServer宕机HMaster宕机HMaser没有单机问题,可以启动多个HMaster,当前所用的HMaster宕机的时候,会通过zookeeper的选举机制(选举机制)选出新的HMaster,这样就保证了系统总有一个HMaster提供服务。HRegionServer宕机当HRegionServer宕机时,HMaster会将其所管理的region重新分布到其他活动的HRegionServer上,同时将该HRegionServer上存在MemStor

2020-07-07 15:00:19 589

原创 简述synchronized和java.util.concurrent.locks.lock的异同

相同点:lock可以实现synchronized的所有功能不同点:Lock有比synchronized更精确的线程语义和更好的性能synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。Lock还有更强大的功能,例如,它的tryLock方法可以非阻塞方式去拿锁。...

2020-07-07 09:57:35 223

原创 HashMap的扩容机制以及ConcurrnetHashMap的原理

1、HashMap的扩容机制HashMap构造器的源码如下:public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal initial capacity: " + initial

2020-07-07 09:27:03 375

原创 对大量数据进行排序

一个100G的文件,内存只有4G,对其进行全排序,如何用普通的java程序编写处理我们一般说的排序算法是内部排序,指的是可以将所有数据一次性的载入内存当中,然后进行排序。但是,当要排序的数据量相当大的时候,无法将全部的数据加载到内存中,这时就需要采用外部排序的方法,采用分而治之的思想,将大的数据文件切分为小的,内存可以一次加载完成的数据块,对每个数据块进行排序,然后用归并排序将各个数据块进行排序。形成最终的排好序的数据文件。1TB数据使用32GB内存如何排序  ①、把磁盘上的1TB数据分割为40块(c

2020-07-06 16:46:44 3010

原创 hive中的数据倾斜

什么是数据倾斜数据倾斜在MapReduce编程模型中十分常见,用最通俗易懂的话来说,数据倾斜无非就是大量的相同key被partition分配到一个分区里,造成了’一个人累死,其他人闲死’的情况,这种情况是我们不能接受的,这也违背了并行计算的初衷,首先一个节点要承受着巨大的压力,而其他节点计算完毕后要一直等待这个忙碌的节点,也拖累了整体的计算时间,可以说效率是十分低下的。hive如何避免数据倾斜1、合理设置 Map 数量1)通常情况下,作业会通过 input 的目录产生一个或者多个 map 任务。主

2020-07-06 16:16:45 168

原创 大数据开发面试题1

列举几个hadoop生态圈组件或其他Apache的顶级项目,并做简要的描述1、hive:hive是由Facebook开发的用于解决海量结构化数据的开源组件hive是基于hadoop的一个数据仓库工具,可以将hdfs中结构化的数据映射为一张表并提供了类SQL查询(将SQL语句转化为MapReduce程序执行)hive处理的数据存放在hdfs中,分析数据底层的实现是MapReduce,执行程序运行在yarn上。2、HBaseHBase是一款适合大数据分析的数据库(按列存储)HBase主要解决

2020-07-06 15:39:46 386

原创 下载并且挂载spark源码

今天复习spark的时候发现源码不见了,于是想再挂在一次,然后从网上找发现大部分都要钱。于是在此分享一下。首先,进入spark的官网(org.apache.spark),然后点击download在此页最下点击Spark release archives,然后找到合适的版本,下载解压即可...

2020-02-13 13:46:28 385

原创 排序学习4之归并排序

归并排序归并排序的基本操作是将两个已经排序的表合并在一起。因为两个表是已经排好序的,所以若将输出放到第三个表中,可以通过对输入数据一趟排序来完成。所以归并排序以最坏复杂度O(nlogn)的情形运行。步骤因为需要合并两个已经排序的表到第三个表中。所以该过程需要三个表,也就对应需要三个计数器。他们初始置于对应数组的开始端,两个计数器对应的数组的值较小的被放到第三个表中,有操作的数组计数器向前进一...

2019-11-09 14:24:21 157

原创 eclipse中代码块前移或者后退

在编写代码的时候,有时候需要将代码整体前移或者后退来保持良好的代码格式要求,不仅在eclipse中,在一些其他的文本编辑器中也可以适用的两个快捷键。后退将代码选中,按tap键即可前移将代码选中,按shift+tap...

2019-11-09 14:06:05 427

原创 浅谈String、StringBuffer和StringBulider

String类String类继承了Object类,用来描述字符串。字符串是有多个字符组成的。java定义了String类用来处理字符串,并提供了一系列操作字符串的方法,他们都封装在java.lang包中,因此不需要导入包就可以用。在java中String类使用final修饰,因此该类一旦被创建,它的值就不可以被修改了。StringBuffer和String类不同的是,StringBuffe...

2019-11-09 10:53:16 155

原创 排序学习2之希尔排序

希尔排序简介希尔排序的名称源于它的发明者Donald Shell,该算法是冲破时间屏障的第一批算法。他是通过比较相距一定间隔的元素来实现排序的。各趟 比较所用的距离随着算法的进行而减小,直到比较相邻元素的最后一趟排序为止。因此,希尔排序也被称为缩减增量排序。...

2019-11-09 10:52:55 211

原创 排序学习1之插入排序

预备知识我们描述的算法都将是可以互换的。每个算法都将接受包含一些元素的数组;假设所有的数组位置都包含要被排序的数据,并且假设N为传递到排序例程的元素的个数。被排序的对象属于Comparable类型。因此我们使用CompareTo方法对输入的数据施加相容的排序。这是除了赋值运算外,仅有的允许对输入数据进行的操作。在这些条件下进行的排序叫作基于比较的排序。插入排序详解1、算法 在这里...

2019-11-09 10:52:26 126

空空如也

空空如也

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

TA关注的人

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