2019年12月26日

Spark的二次排序以及aggregate

摘要: 一、二次排序 (1)输入与输出 (2)需求:数据如file1.txt,要求根据第一列降序,如果第一列相等,则根据第二列升序 分析:平时所使用的键值对是不具有比较意义的,也就说他们没法拿来直接比较,可以通过sortByKey,sortBy(pair._2)来进行单列的排序,但是没法进行两列的同时排序。 阅读全文

posted @ 2019-12-26 10:01 hdc520 阅读(449) 评论(0) 推荐(0) 编辑

2019年12月25日

算法Top的几种解法

摘要: 一、全局排序 任何排序算法均可,但是时间复杂度或者空间复杂度不符合要求。明明只需要TopK,却将全局都排序了,这也是这个方法复杂度非常高的原因。那能不能不全局排序,而只局部排序呢?这就引出了第二个优化方法局部排序。 二、局部排序 (1)冒泡排序:每冒一个泡,找出最大值,冒k个泡,就得到TopK 伪代 阅读全文

posted @ 2019-12-25 21:54 hdc520 阅读(800) 评论(0) 推荐(0) 编辑

2019年12月24日

RPC协议解析

摘要: RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。简言之,RPC使得程序能够像访问本地系统资源一样,去访问远端系统资源。比较关键的一些方面包括:通讯协议、序列化、资源(接口)描述、服务框 阅读全文

posted @ 2019-12-24 17:43 hdc520 阅读(4748) 评论(0) 推荐(0) 编辑

java中list和map详解

摘要: 一、List和Set以及Map 1、List , Set, Map都是接口,前两个继承至Collection接口(Collection接口下还有个Queue接口,有PriorityQueue类),Map为独立接口, (1)List下有ArrayList,Vector,LinkedList (2)Se 阅读全文

posted @ 2019-12-24 16:19 hdc520 阅读(19275) 评论(1) 推荐(8) 编辑

2019年12月18日

java中基础知识

摘要: 1、面向对象和面向过程的区别? (1)面向过程:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了; 1)优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;Linux/Unix等一般采用面向过程开发,性能是最重要的因素 阅读全文

posted @ 2019-12-18 16:57 hdc520 阅读(289) 评论(0) 推荐(0) 编辑

2019年12月17日

hadoop中yarn

摘要: 一、yarn的概述 Apache Yarn(Yet Another Resource Negotiator的缩写)是hadoop集群资源管理器系统,Yarn从hadoop 2引入,最初是为了改善MapReduce的实现,但是它具有通用性,同样执行其他分布式计算模式。 在MapReduce1中,具有如 阅读全文

posted @ 2019-12-17 18:30 hdc520 阅读(255) 评论(0) 推荐(0) 编辑

2019年11月9日

SparkConf源码解读

摘要: 恢复内容开始 1.主要功能:SparkConf是Spark的配置类,配置spark的application的应用程序,使用(key,value)来进行存储配置信息。 2.主要形式:val conf=new SparkConf(),读取任何spark.*的配置,包括开发人员所设置的配置,因为Spark 阅读全文

posted @ 2019-11-09 14:02 hdc520 阅读(581) 评论(0) 推荐(0) 编辑

2019年11月5日

hive group by distinct区别以及性能比较

摘要: Hive去重统计 相信使用Hive的人平时会经常用到去重统计之类的吧,但是好像平时很少关注这个去重的性能问题,但是当一个表的数据量非常大的时候,会发现一个简单的count(distinct order_no)这种语句跑的特别慢,和直接运行count(order_no)的时间差了很多,于是研究了一下。 阅读全文

posted @ 2019-11-05 11:47 hdc520 阅读(1359) 评论(0) 推荐(0) 编辑

2019年11月4日

闭包

摘要: (1)内外函数 如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。 (2)闭包定义 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。 一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东 阅读全文

posted @ 2019-11-04 17:09 hdc520 阅读(181) 评论(0) 推荐(0) 编辑

2019年9月5日

BloomFilter和Bitmap算法

摘要: 一、Bloom Filter的算法: 为了降低冲突的概念,Bloom Filter使用了多个哈希函数,而不是一个。创建一个m位BitSet,先将所有位初始化为0,然后选择k个不同的哈希函数。第i个哈希函数对字符串str哈希的结果记为h(i,str),且h(i,str)的范围是0到m-1 处理字符串的 阅读全文

posted @ 2019-09-05 20:34 hdc520 阅读(550) 评论(0) 推荐(0) 编辑

导航