自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (29)
  • 收藏
  • 关注

转载 Hive 随谈(五)– Hive 优化

Hive 针对不同的查询进行了优化,优化可以通过配置进行控制,本文将介绍部分优化的策略以及优化控制选项。列裁剪(Column Pruning)在读数据的时候,只读取查询中需要用到的列,而忽略其他列。例如,对于查询:SELECT a,b FROM T WHERE e < 10;其中,T 包含 5 个列 (a,b,c,d,e),列 c,d 将会被忽略,只会读取a, b,

2014-02-25 23:00:40 880

转载 Hive优化

hive.optimize.cp=true:列裁剪hive.optimize.prunner:分区裁剪hive.limit.optimize.enable=true:优化LIMIT n语句hive.limit.row.max.size=1000000:hive.limit.optimize.limit.file=10:最大文件数1. 本地模式(小任务):需要满足以下条件

2014-02-25 13:38:04 1002

转载 map和reduce 个数的设定 (Hive优化)经典

一、    控制hive任务中的map数: 1.    通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2.    举例: a)    假设input目录下有

2014-02-25 09:37:40 1818 1

原创 hive严格模式

hive严格模式

2014-02-24 22:55:04 34414 5

转载 Hive中的mapjoin

1: 有一个极小的表2: 需要做不等值join操作(a.x 这种操作如果直接使用join的话语法不支持不等于操作,hive语法解析会直接抛出错误如果把不等于写到where里会造成笛卡尔积,数据异常增大,速度会很慢。甚至会任务无法跑成功~根据mapjoin的计算原理,MAPJION会把小表全部读入内存中,在map阶段直接拿另外一个表的数据和内存中表数据做匹配。这种情况

2014-02-24 16:35:41 1512

原创 空格替换

文本文件f中空格替换为,a空格空格空格b 替换成a,b1,cat f|tr -s ' '|tr ' ' ','2,vi f :%s/[ ]\{1,\}/,/g3,cat f | tr -s " " | sed 's/ /,/g' >outfile

2014-02-24 11:31:51 657

转载 Hive与表操作有关的语句

1.创建表的语句:Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment],

2014-02-24 11:07:32 744

原创 hive中使用自定义函数(UDF)实现分析函数row_number的功能

1. hive0.10及之前的版本没有row_number这个函数,假设我们现在出现如下业务场景,现在我们在hdfs上有个log日志文件,为了方便叙述,该文件只有2个字段,第一个是用户的id,第二个是当天登录的timestamp,现在我们需要求每个用户最早登录的那条记录(注意不是仅仅只要那个登录的timestamp),可以方便计算NewUser。2. 我们的数据是这样的:1,322,463,3...

2014-02-24 10:39:12 1473

原创 算法-求二进制数中1的个数

问题描述任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题,相信很多人可能见过下面的算法,但我相信很少有人见到本文中所有的算法。如果您上头上有更好的算法,或者本文没有提到的算法,请不要吝惜您的代码,分享的时候,也

2014-02-24 09:23:39 1144

转载 hive中生成从1到n的连续数字的UDTF方法

之前在博客中分享了个生成从1到n的连续数字的transform或map方法,最近研究了一下UDTF,发现用UDTF写出来的函数用起来更方便,语法更接近于普通的函数。而且在JAVA中对参数的个数、类型等进行校验也更容易。 ORACLE中生成从1到n的连续数字的方法很多,最简单的一种是:select level from dual connect by level 

2014-02-23 22:31:06 9310

原创 MapReduce 实现全排序的方式

MapReduce实现全排序的方式

2014-02-23 21:17:37 6653

原创 hive参数hive.mapred.mode分析

Hive配置中有个参数hive.mapred.mode,分为nonstrict,strict,默认是nonstrict如果设置为strict,会对三种情况的语句在compile环节做过滤:1. 笛卡尔积Join。这种情况由于没有指定reduce join key,所以只会启用一个reducer,数据量大时会造成性能瓶颈[java] view plainc

2014-02-23 21:05:06 1220

原创 hive常用技术博客

http://blog.csdn.net/lalaguozhe/article/category/1446049

2014-02-23 21:01:05 933

转载 hive 配置参数说明

hive.exec.mode.local.auto    决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行)    默认值:true       hive.exec.mode.local.auto.inputbytes.max    如果 hive.exec.mode.local.auto 为 true,当输入文件大小小于此阈值时可以

2014-02-23 20:41:01 3213

原创 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。

法1:如果要知道一个字符是否只出现过一次,必须遍历一次字符串知道所有字符出现过的情况。在遍历中要用数组统计每个字符的出现次数,到最后将,再遍历一遍数组,得到出现次数为1的第一个字符,取出。空间复杂度:O(1)时间复杂度:O(n) 我们创建一个长度为256的数组,每个字母根据其ASCII码值作为数组的下标对应数组的对应项,而数组中存储的是每个字符对应的次数

2014-02-23 17:01:06 1466

原创 单链表的遍历和逆转

public class Test {public static void main(String[] args) {LNode linklist = new LNode("a");LNode b = new LNode("b");LNode c = new LNode("c");LNode d = new LNode("d");LNode e = new

2014-02-23 15:22:29 977

转载 经典面试题:链表的相交与环问题

1、 给出两个单向链表的头指针pHead1和pHead2,判断这两个链表是否相交。假设两个链表均不带环。 示意图如下:如果两个链表相交于某一节点,那么在这个相交节点之后的所有节点都是两个链表所共有的。也就是说,如果两个链表相交,那么最后一个节点肯定是共有的。先遍历第一个链表,记住最后一个节点,然后遍历第二个链表,到最后一个节点时和第一个链表的最后一个节点做比较,如果相同,则相交,否则不

2014-02-23 14:44:52 914

原创 求子数组的最大和

题目:求子数组的最大和         输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为 O(n) 。        例如输入的数组为 1, -2, 3, 10, -4, 7, 2, -5 ,和最大的子数组为 3, 10, -4, 7, 2 ,因此输出为该子数组的和18 。

2014-02-23 14:02:43 694

转载 hive join

hive(0.9.0):1.支持equality joins, outer joins, and left semi joins2.只支持等值条件3.支持多表join原理hive执行引擎会将HQL“翻译”成为map-reduce任务,如果多张表使用同一列做join则将被翻译成一个reduce,否则将被翻译成多个map-reduce任务。eg:SELECT a.val

2014-02-22 22:29:07 813

转载 各种排序算法时间复杂度和空间复杂度表

2014-02-22 21:04:59 1526

原创 汉诺塔递归算法

汉诺塔递归算法

2014-02-22 11:04:01 1488

转载 Java虚拟机(JVM)中的内存设置详解

在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域Heap space:存放Instance。GC(Garbage Coll

2014-02-21 09:26:05 1007

转载 浅谈设置JVM内存分配的几个妙招

一、设置JVM内存设置1. 设置JVM内存的参数有四个:-Xmx    Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;-Xms    Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;-Xmn    Java Heap Young区大小,不熟悉

2014-02-21 09:25:34 950

转载 Java线程学习和总结

线程是Java的一大特色,从语言上直接支持线程,线程对于进程来讲的优势在于创建的代价很小,上下文切换迅速,当然其他的优势还有很多,缺点也是有的,比如说对于开发人员来讲要求比较高,不容易操作,但是Java的线程的操作已经简化了很多,是一个比较成熟的模型。很多时候,我们都用不到线程,但是当我们有一天不走运(或者走运)的时候,我们必须要面对这个问题的时候,应该怎么办呢?本文是我的学习笔记和一些总结,试图

2014-02-20 17:06:37 1432

转载 Java Thread 总结

Ø线程的概述(Introduction)线程是一个程序的多个执行路径,执行调度的单位,依托于进程存在。 线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用来保存线程内部所使用的数据,如线程执行函数中所定义的变量。注意:Java中的多线程是一种抢占机制而不是分时机制。抢占机制指的是有多个线程处于可运行状态,但是只允许

2014-02-20 17:04:03 777

转载 Java Object类中的方法

面试问的最多的问题是:“Java object类中有哪些方法?归类总结一下”。一般情况下,3年以上工作经验的回答少于6个方法的,会导致减分,2年以下工作经验的知道6个以上会加分。到阿里云后面试过30+,回答让我满意的人很少。     作为一个半路出家当程序员,开始我总是痴迷于应用。a框架的配置,b框架的模板,c框架的控制……其实我对Java底层了解的很少,也没有想过了解java的底层。

2014-02-20 16:06:11 958

转载 关于重写equals,hashcode以及compareTo方法

1.Object的equals()方法比较的是地址值2.String 、Math、还有Integer、Double。。。。等这些封装类重写了Object中的equals()方法,让它不再比较句柄(引用),而是比较对象中实际包含的整数的值,即比较的是内容。    一般来说,如果你要把一个类的对象放入容器中,那么通常要为其重写equals()方法,让他们比较地址值而不是内容值。特别地,

2014-02-20 15:57:24 897

转载 Try、finally语句块内 有 return 的注意问题

情况一:(最普通用法)public class Test {   public static void main(String[] args) {        System.out.print(tt());                                                             }   public static int t

2014-02-19 21:34:35 1286 1

转载 awk 数组排序多种实现方法

由于awk数组,是关联数组。for…in循环输出时候,默认打印出来是无序数组。 [chengmo@localhost ~]$ awk 'BEGIN{info = "this is a test";split(info,tA," ");for(k in tA){print k,tA[k];}}'4 test1 this2 is3 a 如果需要按照顺

2014-02-19 19:02:58 863

转载 awk 之 asort 与 asorti 数组排序区别及演示

两者排序区别:asort 是对数组的值进行排序,并且会丢掉原先键值;asorti是对数组的下标进行排序。数据文件:12 3478 9023 451. awk是关联数组。for…in循环输出时候,默认打印出来是无序数组。[root@zhenjiang ~]# awk '{a[$1]=$2}END{for(i in a

2014-02-19 18:24:56 1398

转载 Hive与表操作有关的语句

1.创建表的语句:Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment],

2014-02-18 21:17:05 831

转载 MapReduce: 提高MapReduce性能的七点建议[译]

Cloudera提供给客户的服务内容之一就是调整和优化MapReduce job执行性能。MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速有效的规则来实现优化代码性能的目的。在我看来,调整cluster或job的运行更像一个医生对待病人一样,找出关键的“症状”,对于不同的症状有不同的诊断和处理方式。         在医学领域,没

2014-02-18 15:09:57 1364

转载 Hashtable与ConcurrentHashMap区别

相同点: Hashtable 和 ConcurrentHashMap都是线程安全的,可以在多线程环境中运行; key跟value都不能是null区别: 两者主要是性能上的差异,Hashtable的所有操作都会锁住整个对象,虽然能够保证线程安全,但是性能较差; ConcurrentHashMap内部使用Segment数组,每个Segment类似于Hashtable,在“写”线程或者部分特殊的

2014-02-17 15:43:19 42672 5

原创 Java方法调用的绑定

java编程思想第4版 P151  将一个方法调用同一个方法主体连接到一起就称为“绑定”(Binding)。若在程序运行以前执行绑定(由编译器和链接程序,假如有的话),就叫作“早期绑定”。大家以前或许从未听说过这个术语,因为它在任何程序化语言里都是不可能的。C编译器只有一种方法调用,那就是“早期绑定”。    上述程序最令人迷惑不解的地方全与早期绑定有关,因为在只有一个Instrume

2014-02-17 10:06:57 838

转载 转mysql横向扩展和纵向扩展

Scale-up(纵向扩展)和Scale-out(横向扩展)的解释  谈到系统的可伸缩性,Scale-up(纵向扩展)和Scale-out(横向扩展)是两个常见的术语,对于初学者来说,很容易搞迷糊这两个概念,这里总结了一些把概念解释的比较清楚的内容。  首先来段Wikipedia的,讲的很透彻了。Scale vertically (scale up)   To sc

2014-02-11 10:24:57 4970 3

转载 父 shell,子 shell ,export 与 变量传递

当我们在一个 shell 里运行一个脚本程序时,该 shell 就会 fork 出一个新进程,从而启动了另一个命令解释器(由脚本中第一行的 #!/bin/xxx 指定,如 bash shell)来解释运行我们这个脚本。也就是说,这个新进程是一个子 shell,而之前的 shell 是个父 shell 。在我们所运行的脚本里,我们还可以启动新的子 shell 进程,这些子 shell 进

2014-02-10 15:50:02 3436

转载 SHELL下date命令的用法

date命令如何获得上星期的日期?#date -d “-1 week” “+%Y%m%d %A”举一反三:date命令获得前天,昨天,明天,后天,上个月,下个月的日期date -d “-2 day” “+%Y%m%d %A” 或 date –date=”2 days ago” “+%Y%m%d %A”date -d “-1 day” “+%Y%m%d %A” 或 d

2014-02-08 10:33:43 1025

转载 shell字符串的截取

shell字符串的截取的问题:一、Linux shell 截取字符变量的前8位,有方法如下:  1.expr substr “$a” 1 8  2.echo $a|awk ‘{print substr(,1,8)}’  3.echo $a|cut -c1-8  4.expr $a : ‘\(.\\).*’  5.echo $a|dd bs=1 cou

2014-02-08 10:23:56 1047

转载 Linux dirname、basename 指令

一、dirname指令1、功能:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)2、用法:dirname filename例如下面几个例子(1)# dirname /etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts(2)# dirname /

2014-02-08 10:14:36 1021

原创 Hadoop源码解析之: TextInputFormat如何处理跨split的行

Hadoop源码解析之: TextInputFormat如何处理跨split的行

2014-02-07 14:53:43 1030

java8 32位 64位 jdk8 最新下载地址

java8 32位 64位 jdk8 最新下载地址

2018-01-06

阿里巴巴Java开发手册V1.2.0

阿里巴巴Java开发手册V1.2.0

2017-05-24

protobuf-2.5.0.tar.gz

protobuf-2.5.0.tar.gz

2015-07-06

rpmbuild-demo工程

一个rpm build打包的示例工程,下载完成后可以解压成/home/wang/rpmbuild目录,然后到SPEC目录中执行rpmbuild -ba dteworker-client.spec 即可完成打包

2015-01-21

hive函数大全 函数参考

hive函数大全 ,非常全的文档!

2013-12-17

BIEE11g 入门培训

BIEE11g 入门培训,非常适合初学者入门~

2013-11-08

BIEE11g 详细安装文档

BIEE11g非常详细的安装文档,亲自安装成功!

2013-11-08

数据结构(C语言版) 严蔚敏 吴伟民 带书签

数据结构(C语言版) 严蔚敏 吴伟民 带书签,清华大学出版的,经典教材

2013-04-10

Weka源代码详细分析系列

Weka源代码详细分析系列,和http://download.csdn.net/download/mythee/2238812里面是一模一样的,介绍的非常详细

2012-05-08

junit 3.8 jar包

junit 3.8 jar包

2012-04-05

sqlserver jar包 jdbc驱动

sqlserver jar包 jdbc驱动

2012-04-05

oracle jar包 jdbc驱动程序

oracle jar包 jdbc驱动程序!java开发常用jar包

2012-04-05

mysql jdbc驱动程序 jar包

mysql-connector-java-5.0.8-bin.jar mysql驱动程序 jar包

2012-04-05

ant apache 1.7 jar

ant apache 1.7 jar!java web开发常用jar包

2012-04-05

Stuct2权威指指南完整版上

讲的是Struct2,非常适合初学者

2012-03-05

java spring全解 详细教程 原理

讲解spring的资料,非常适合初学者!!!

2012-03-05

java rmi详解

java rmi 远程方法调用的例子,讲解的很详细!

2012-03-05

poi excel 实战例子详解

poi操作excel的例子,讲的很详细,很适合入门者看!!!

2011-10-30

poi xssf hssf excel 教程

java操作EXCEL的工作,包含详细的例子,很适合入门学习!

2011-10-30

数据挖掘概念技术资料

数据挖掘的基本概念和技术,很适合入门的资料!!!!!!!!!

2011-10-24

设计模式可复用面向对象软件的基础

设计模式的开山之作,一句话:没看过此书,不要说懂设计模式!

2011-10-24

JAVA与模式 带标签 清晰版 阎宏

JAVA与模式,带标签,很清楚!讲解讲的很详细,例子也很好!

2011-10-24

java 反射机制例子

讲解了JAVA中反射机制,包含例子,代码!对初学者很有用

2011-10-04

java 泛型例子实例

JAVA介绍泛型,讲解的比较详细,带例子

2011-10-04

java io输入输出流介绍

讲解了JAVA中io操作,包含例子,代码!对初学者很有用

2011-10-04

LDAP 资料代码实例

关于LDAP的资料,经常用的,包含新建,查询,删除,修改

2011-10-04

LDAP 资料代码实例

关于LDAP的资料,经常用的,包含新建,查询,删除,修改

2011-10-04

LDAP 资料代码实例

关于LDAP的资料,经常用的,包含新建,查询,删除,修改

2011-10-04

空空如也

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

TA关注的人

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