自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (11)
  • 收藏
  • 关注

转载 spark join

在大数据处理场景中,多表Join是非常常见的一类运算。为了便于求解,通常会将多表join问题转为多个两表连接问题。两表Join的实现算法非常多,一般我们会根据两表的数据特点选取不同的join算法,其中,最常用的两个算法是map-side join和reduce-side join。本文将介绍如何在apache spark中实现这两种算法。(1)Map-side JoinMap-

2016-06-28 10:52:26 1230

转载 spark mapPartition方法与map方法的区别

rdd的mapPartitions是map的一个变种,它们都可进行分区的并行处理。    两者的主要区别是调用的粒度不一样:map的输入变换函数是应用于RDD中每个元素,而mapPartitions的输入函数是应用于每个分区。    假设一个rdd有10个元素,分成3个分区。如果使用map方法,map中的输入函数会被调用10次;而使用mapPartitions方法的话,其输入函数会只会

2016-06-28 10:40:19 9016

翻译 Hive分析窗口函数(五) GROUPING SETS,GROUPING__ID,CUBE,ROLLUP

1.GROUPING SETS与另外哪种方式等价?2.根据GROUP BY的维度的所有组合进行聚合由哪个关键字完成?3.ROLLUP与ROLLUP关系是什么?GROUPING SETS,GROUPING__ID,CUBE,ROLLUP这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。Hive版本为

2016-05-10 15:27:37 1779

翻译 Hive分析窗口函数(四) LAG,LEAD,FIRST_VALUE,LAST_VALUE

1.LAG功能是什么?2.LEAD与LAG功能有什么相似的地方那个?3.FIRST_VALUE与LAST_VALUE分别完成什么功能?继续学习这四个分析函数。注意: 这几个函数不支持WINDOW子句。Hive版本为 apache-hive-0.13.1数据准备:水电费 cookie1,2015-04-10 10:00:02,url2

2016-05-10 15:23:48 7466 1

翻译 Hive分析窗口函数(二) NTILE,ROW_NUMBER,RANK,DENSE_RANK

问题导读:1.NTILE作用是什么?2.按照pv降序排列,生成分组内每天的pv名次可使用哪个窗口函数?3.RANK 和 DENSE_RANK作用是什么?接上篇:Hive分析窗口函数(一)SUM,AVG,MIN,MAX本文中介绍前几个序列函数,NTILE,ROW_NUMBER,RANK,DENSE_RANK,下面会一一解释各自的用途。Hive版本为 apache-hi

2016-05-10 15:18:00 1899

翻译 Hive分析窗口函数(一) SUM,AVG,MIN,MAX

Hive中提供了越来越多的分析函数,用于完成负责的统计分析。抽时间将所有的分析窗口函数理一遍,将陆续发布。今天先看几个基础的,SUM、AVG、MIN、MAX。用于实现分组内所有和连续累积的统计。 CREATE EXTERNAL TABLE yeshuai_test( cookieid string, createtime string, --day pv INT

2016-05-10 15:09:57 3157

转载 Java内存分配和String类型的深度解析

一、引题    在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深度分析关于String的许多令人迷惑的问题。下面是本文将要涉及到的一些问题,如果读者对这些问题都了如指掌,则可忽略此文。    1、java内存具体指哪块内存?这块内存区域为什么要进行划分?是如何划分的?划分之后每块区域的作用是什

2016-03-20 21:44:05 361

转载 JVM详细工作机制

gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。        垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍

2016-03-20 21:40:07 931

转载 hibernate如何实现延时加载

hibernate如何实现延时加载   延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。下面我们就分别介绍这些种类的延迟加载的细节。     A、实体对象的延迟加载:     如果想对实体

2016-03-17 10:10:07 913

原创 spring事务系列(4)--声明式事务管理(注解方式)

基于注解的配置方式,写起来是非常方便的,配置文件配置相当简单:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.o

2016-03-17 09:38:31 363

原创 spring事务系列(3)--声明式事务管理(xml方式)

声明式事务管理方式二:基于AspectJ的XML方式上一节说的传统的方式配置,对每一个进行事务的对象进行一个配置,维护管理起来是非常麻烦的spring为了简化aop开发,需要引入AspectJ包和spring整合AspectJ的一个jar包配置文件<beans xmlns="http://www.springframework.org/schema/beans"

2016-03-17 09:12:02 257

原创 spring事务系列(2)--声明式事务管理(传统)

TransactionProxyFactoryBean声明式事务管理上一节说了编程式事务管理,需要手动的更改service层的代码,下面说一下声明式事务的三种方式(事务环境和上一节是一样的,都是转账案例,只需要更改配置文件和测试代码)service也做一下修改,不需要之前那么复杂package com.yeshuai.spring.demo2;public class Acc

2016-03-17 09:10:16 280

原创 spring事务系列(1)--编程式事务管理

对于事务的测试,先大家一个转账的环境创建数据表account 创建数据表account CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `money` double DEFAULT NULL, PRIMARY KEY (`id`)

2016-03-16 23:06:44 442

原创 反射性能差,提高性能

反射:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制为什么Java反射性能差?java反射是要解析字节码,将内存中的对象进行解析,包括了一些动态类型,所以JVM无法对这些代码进行优化。因此,反射操作的效率要比那些非反射操作低

2016-03-16 15:17:36 1817

转载 Zookeeper 在HBase中充当什么样的角色

HBase部署相对是一个较大的动作,其依赖于zookeeper cluster,hadoop HDFS。               Zookeeper作用在于:                1、hbase regionserver 向zookeeper注册,提供hbase regionserver状态信息(是否在线)。                2、hm

2016-03-16 14:29:25 3008

原创 单例模式就是这么简单!

单例就是这么简单:核心作用:保证只有一个实例,并且提供一个访问该实例的全局访问点。常见应用场景:window的任务管理器和回收站项目的配置文件网站的计数器,一般是采用单例模式,否则难以同步应用程序日志,共享日志文件一直处于单开状态,只有一个实例,才方便添加数据库连接池操作系统文件系统,一个操作系统只有一个文件系统Application(servlet编程中)

2016-03-12 20:03:24 510

翻译 Hive大数据倾斜总结

所谓数据倾斜,说的是由于数据分布不均匀,个别值集中占据大部分数据量,加上Hadoop的计算模式,导致计算资源不均匀引起性能下降。还是拿网站的访问日志说事吧。假设网站访问日志中会记录用户的user_id,并且对于注册用户使用其用户表的user_id,对于非注册用户使用一个user_id=0代表。那么鉴于大多数用户是非注册用户(只看不写),所以user_id=0占据了绝大多数。而如果进行计算的时候

2016-03-10 15:37:50 3589 1

原创 Hive、Hbase、mysql区别

Hive和HBase的区别Hive是为了简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样。在这种情况下,就需要Hive这样的用戶编程接口。Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑,就是些表的定义等,也就是表的元数据。使用SQL实现Hive是因为SQL大家都熟悉,

2016-03-10 15:33:02 26153 2

原创 数据结构算法之排序系列Java、C源码实现(9)--总结

类别排序方法平均情况最好情况最坏情况辅助存储稳定性插入排序直接插入0(n2)O(n)0(n2)O(1)稳定希尔排序0(n1.3)O(n)0(n2)O(1)不

2016-02-27 14:36:24 617

原创 数据结构算法之排序系列Java、C源码实现(8)--基数排序

基数排序   这是一种和前述算法完全不同的排序方法。前述算法都要进行关键字的比较,而基数排序不需要进行记录关键字之间的比较。 链式基数排序  思想:从低位到高位一次对待排序的关键码进行分配和收集,经过d趟分配和收集,就可以得到一个有序序列。1.若关键字是十进制整数,则按个、十、百等位进行分解,基数rd=10,C0=0,C9=9,d为最长整数的位数。2.若关键字是小写的英文字,则

2016-02-27 14:32:44 875

原创 数据结构算法之排序系列Java、C源码实现(7)--归并排序

归并排序是将两个或两个以上的有序子表合并成一个新的有序表。初始时,把含有n个结点的待排序序列看做是由n个长度为1的有序表所组成,然后两两归并,得到个长度为2或1的有序子序列;再两两合并,…,如此重复,直至得到一个长度为n的有序序列为止。时间复杂度为O(nlog2n),所需辅助空间为O(n)。 一般情况下,对m个元素进行k路归并时,归并的趟数为:该代码的思想就是最后分治为两个数据的合并(

2016-02-27 14:25:43 602

原创 数据结构算法之排序系列Java、C源码实现(6)--快速排序

快速排序采用一种分治的方法,通常又称为分治法。思想:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些问题,然后将这些子问题的解组合为原问题的解。快速排序就是先找到一个中间轴(一般从起始位置也就是low开始)将 比该值小的数据放左边,比该值大的数据放到右边实现过程,就是low、high 类似于指针的走位,比pivot值大的交换到high处,比pivot值小的放到low

2016-02-27 14:11:53 647

原创 数据结构算法之排序系列Java、C源码实现(5)--冒泡排序

冒泡排序   冒泡排序最好的时间复杂度是O(n)。反之,最坏情况下为O(n2)。  冒泡排序是就地排序,且它是稳定的。第一趟得到的最后位置上的关键字一定是最大的或者最小的。  冒泡排序是一种比较简单的排序java代码:public class BubbleSort {public static void main(String[] args) {int array[]

2016-02-27 14:08:39 615

原创 数据结构算法之排序系列Java、C源码实现(4)--堆排序

堆是一种树形结构,堆排序是对直接选择排序的有效改进。实现堆排序需要解决三个问题:1.构建完全二叉树:先把待排序序列构建成一棵完全二叉树。   2.把无序序列建成的完全二叉树调成一个有序堆。然后根据以下定义建堆:   n个元素的序列{k1, k2, …., kn}当且满足下述关系时,称之为堆。 前者称为小顶堆(小根堆),后者称为大顶堆(大根堆)。从一个无序序列建堆的过程就

2016-02-27 14:00:19 518

原创 数据结构算法之排序系列Java、C源码实现(3)--直接选择排序

直接选择排序   首先在所有记录中选出码最小的记录,把它与第1个记录交换,然后在其余的记录内选出排序码最小的记录,与第2个记录交换…依次类推,直到所有记录排好序。直接选择排序的平均时间复杂度O(n2)java代码:public class Straight_Select {public static void main(String[] args) {int array

2016-02-27 13:51:25 504

原创 数据结构算法之排序系列Java、C源码实现(2)--希尔排序

希尔排序  先将整个待排序列分割成为若干个子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对整个记录进行一次直接插入排序,其实希尔排序就是分组直接插入排序。java代码:public class ShellSort {public static void main(String[] args) {int array[] = {2,10,4

2016-02-27 13:23:43 524

原创 数据结构算法之排序系列Java、C源码实现(1)--直接插入排序

使用插入排序,对于具有n个记录的文件,要进行n-1趟排序,是稳定的插入排序。直接插入排序:从未排序的序列中依次取出一个元素与已排序列中的元素进行比较,然后将其放在已排序序列的合适位置上。思想宗旨就是将无序的数据向有序的数据中插入 ,默认选择比较的元素是有序序列的最大值开始比较(高级一点的算法,可以采用二分查找)来选取这个开始比较的元素实际就是有序

2016-02-27 11:05:55 625

无线热点分网器

该软件比较小,用于分网,作为热点它是比较好的软件之一, 轻松分网,操作简单.还可以指定地分网,也就是说可以禁止某些 人用你分的网

2013-12-15

人事管理系统(源代码+解决方案)

通过学习传智播客教程,改写的人事管理系统,主要是对界面进行了 完善的,是一份较好的学习C#程序的资源

2013-12-15

操作系统统实验报告-主存空间分配和回收

大三操作系统要求的课程设计报告,比较完整的主存分配 和回收,采用了要求的三种算法来实现的

2013-12-15

java网络版电梯程序

java网络版电梯,网上较少的资源,基本上还没有找到,该资源包括 源代码 ,实验报告,还有系统演示视频,资源不错哦!

2013-12-15

大三java课程要求10个小实验

该资源是java要求的10个小实验,文档格式好,参考性强, 有截图,资料不错,相信你会用到。

2013-12-15

算法分析与设计

大三算法分析与设计(实验报告+源代码)包含了动态规划算法, 回溯法和贪心算法,代码是C和C++写的。

2013-12-15

学生宿舍网络设计方案

大三计算机网络课程设计实验报告,是一份比较好 的参考资料,满足课程设计需求。

2013-12-15

应用程序小图标

该资源拥有5000个应用程序的小图标,对于我们开发各种应用程序,无论是java还是.net程序都是很好的资源,轻松便捷的使我们的程序界面更加美观

2013-06-09

有向图邻接链表遍历

该资源浅显易懂的讲述了有向图邻接链表的深度优先遍历,对于初学者是非常有帮助的

2013-05-02

无向图邻接矩阵的遍历

这是对于无向图邻接矩阵的算法描述,对于理解邻接矩阵是非常有用的,特别是初学者,相信它能够帮到你

2013-05-02

注册表修改

这个是我在网上找的,对于修改注册表权限非常有帮助,而且简单易学,相信对你的帮助很大

2013-02-06

空空如也

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

TA关注的人

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