自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天亮了

你生命的价值,就在为别人创造价值

  • 博客(151)
  • 资源 (24)
  • 收藏
  • 关注

原创 关系型数据库导出至Hive仓库脚本

业务场景:工作中经常需要将关系型数据库(Oracle、MySQL)中的表导入到hive中进行大数据运算,故编写快捷的脚本实现,脚本名为:RDBtoHive.sh。实际案例:将Oracle中表tbl_o_test 数据导入到hive 的表  tbl_h_test 中,这里表  tbl_h_test 的结构及字段顺序同表tbl_o_test  一致,注意字段类型可以不一致,但是字段顺序需一

2016-04-22 17:44:52 1600

原创 hive json数据生成和处理

场景:查询结果封装成json格式实现:封装记录为json格式可以编写自定义函数,也可以直接使用concat函数直接拼接,下面直接使用concat函数拼接实现将数据行转化为json数据select concat('{\"id\":\"',              t.id,              '\",\"index_date\":\"',              NV

2016-03-24 16:14:30 24767 3

原创 hive实现多行转成1行

--场景描述:将查询结果记录每行内容的列先按逗号(,)分割,然后再将多行内容用&符号存为一行内容例如:id name age8 liu 199 zhang 2010 li 25要求转化为:8,liu,19&9,zhang,20&10,li,25--实现脚本SELECT concat_ws('&', collect_set(

2016-03-24 15:55:47 4155 1

翻译 hive数据去重,并取指定的一条数据

hive数据去重,并根据需求取其中一条数据案例:name  adx       tran_id                 cost        ts       ck        5        125.168.10.0          33.00   1407234660ck        5        187.18.99.00          33.32

2015-12-23 15:32:58 31028

原创 hive 空值的处理

hive的使用中不可避免的需要对null、‘’(空字符串)进行判断识别。但是hive有别于传统的数据库。下面一一说明:(1)不同数据类型对空值的存储规则int与string类型数据存储,null默认存储为 \N;string类型的数据如果为"",存储则是"";另外往int类型的字段插入数据“”时,结果还是\N。 (2)不同数据类型,空值的查询对于int可以使用is

2015-12-23 15:28:29 41666

原创 Linux_vi常用指令

1. vi1.1 一般模式1.1.1 一般模式: 移动光标的方法[Ctrl] + [f] 屏幕『向下』移动一页,(记忆forward)[Ctrl] + [b] 屏幕『向上』移动一页,(记忆back)[Ctrl] + [d] 屏幕『向下』移动半页,(记忆down)[Ctrl] + [u] 屏幕『向上』移动半页,(记忆up)n n 为数字。光标向下移动 n 行30↓ 向

2015-11-10 17:10:11 839

原创 Oozie的input-events和done-flag使用

需求场景:使用Oozie时 coordinator job间的执行顺序控制但随着业务的扩充,新加了一些 coordinator job,也都是放在凌晨的时候去执行,但有的job依赖于早先存在的 coordinator job,所以不同的coordinator job间执行顺序是有规则的。比较笨的方法是直接将新的job的时间设置为远后于其依赖job时间之后,以保证依赖的job已经执行完。

2015-11-10 17:06:21 3176 1

原创 hive学习笔记之map-side joins

在分布式计算框架中,其实表连接这类操作都是需要跨节点的,所以计算效率都比较慢。hive也是如此,针对表连接,hive在大表与小表进行连接时有个优化经常使用,就是map-side join。比如:select  /*+ mapjoin(u)*/  u.user_id,l.time  from user u join opera_log l on u.user_id=l.user_id whe

2015-10-18 20:44:38 1471

原创 MapReduce案例学习(9) 将全体员工按照总收入(工资+提成)从高到低排列,要求列出姓名及其总收入

设计思路:该题处理方案和MapReduce案例学习(8) 列出工资最高的头三名员工姓名及其工资 类似的,只要将employee类中的compareTo方法改写比较规则即可map阶段:将employee对象作为key,value直接设置为NullWritablereduce阶段:在对reduce的输入参数value进行遍历时,里面的对象都是根据key自动排好序的,所以直接把相关信息拼接输

2015-09-20 16:43:37 2609

原创 MapReduce案例学习(8) 列出工资最高的头三名员工姓名及其工资

设计思路:因为mapreduce对key能实现自动排序,当key为数字时就按自然顺序排序,是字母时按字典顺序排序。所以处理这个案例时巧妙的使用mapreduce对key值的自动排序功能,将employee对象直接作为key,并重新定义当key为employee对象时,mapreduce的排序规则。map阶段:将employee对象作为key,可以将员工的工资作为value,或者因为员工工资可以

2015-09-20 16:37:47 2564

原创 MapReduce案例学习(7) 列出名字以J开头的员工姓名及其所属部门名称

设计思路:map阶段:读取每行信息直接将名字以J开头的员工姓名和部门名称输出reduce阶段:无需reduce处理package week06;import java.io.IOException;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;imp

2015-09-20 16:24:57 1293

原创 MapReduce案例学习(6) 列出工资比公司平均工资要高的员工姓名及其工资

设计思路:map阶段:这里需要汇总所有员工的工资计算平均工资,所以用了一个统一的名称作为key以便把所有员工都汇总到起来,然后将员工姓名和工资用逗号分隔拼接为字符串作为value输出;reduce阶段:所有员工都在汇总到一起,遍历传入的value,对其数据进行分拆获得员工姓名和工资,并将他以姓名作为key,工资作为value加入到一个HashMap对象中。遍历value的同时叠加所有人员的

2015-09-20 16:22:29 2482

原创 MapReduce案例学习(5) 列出工资比上司高的员工姓名及其工资

设计思路:数据部分截取,用于方便分析    ---------------------------------                        empno ename     mgr    sal    7369 SMITH    7902    800            7499 ALLEN    7698   1600            7521

2015-09-20 16:14:15 2262

原创 MapReduce案例学习(4) 求各个城市的员工的总工资

设计思路:map阶段:将城市作为key,员工工资作为value输出;reduce阶段:将相同key汇总,遍历value获得工资进行叠加处理计算总工资。package week06;import java.io.IOException;import java.text.DateFormat;import java.text.SimpleDateFormat;import ja

2015-09-20 16:05:59 1962

原创 MapReduce案例学习(3) 求每个部门最早进入公司的员工姓名

设计思路:map阶段:将部门名称作为key,将员工姓名和入职时间以逗号分隔拼接成字符串,然后整体作为value输出;reduce阶段:对map传入的value进行处理,按照逗号切分获得员工姓名和入职时间。因为要求最早进入公司的人员,所以定义一个时间变量,并赋值一个最大的时间值,遍历value时,将员工的入职时间和该最大时间比较,并将该时间变量替换为两者间的较小值。package wee

2015-09-20 16:02:48 1625

原创 MapReduce案例学习(2) 求各个部门的人数和平均工资

设计思路:map阶段:map读取每行记录,将部门作为key,工资作为value输出;reduce阶段:将相同的key即同部门的工资作叠加运算得出总工资,同时在遍历value时,定义一个计数变量,统计该部门的人员数,最后总工资除以人员数得出该部门的平均工资。package week06;import java.io.IOException;import java.text.Dat

2015-09-20 15:55:13 4447

原创 MapReduce案例学习(1)求各个部门的总工资

为了方便employee对象的引用,定义了一个employee类:package week06;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import org.apache.hadoop.io.WritableComparable;/* * Employee Obj

2015-09-20 15:48:29 2981 1

原创 MapReduce案例学习开篇

案例学习背景:客户资源有两张表,一个用户表,一个部门信息表,分别如下:SQL> select * from emp;     EMPNO ENAME      JOB              MGR   HIREDATE              SAL       COMM     DEPTNO---------- ---------- --------- ----------  

2015-09-20 15:37:47 888

原创 win7使用eclipse连接hadoop集群,运行mapreduce报错之:org.apache.hadoop.security.AccessControlException

在win7上使用eclipse连接hadoop集群运行mapreduce任务(Java编写)时出现如下错误提示,导致运行mapreduce作业失败Caused by: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.security.AccessControlException: Permission denied: use

2015-09-05 23:08:53 1338

原创 win7使用eclipse连接hadoop集群,运行mapreduce报错之Failed to set permissions of path

在win7上使用eclipse连接hadoop集群运行mapreduce任务(Java编写)时出现如下错误提示,导致运行mapreduce作业失败15/09/05 20:42:58 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java cl

2015-09-05 23:04:12 839

原创 reduce里的一个坑

hadoop版本1.2.1reduce方法里的关键内容如下:protected void reduce(Text key, Iterable values,Context context) throws IOException, InterruptedException {int sum = 1;//使用while来进行遍历,reduce进行一直卡在66%就顿住

2015-09-04 14:55:01 1370 1

原创 FAILED Task attempt_xx_r_000000_0 failed to report status for 600 seconds

执行mapreduce任务时,执行抛出以下错误:FAILED Task attempt_201509030947_0001_r_000000_0 failed to report status for 600 seconds原因分析:执行超时,reduce在执行合并索引操作时间较长,超过了600秒的时间限制。解决方案:方案一:修改job参数Configuration con

2015-09-04 01:31:22 1950

转载 Hadoop日志存放目录

初学者运行MapReduce作业时,经常会遇到各种错误,由于缺乏经验,往往不知所云,一般直接将终端打印的错误贴到搜索引擎上查找,以借鉴前人的经验。然而,对于hadoop而言,当遇到错误时,第一时间应是查看日志,日志里通产会有详细的错误原因提示,本文将总结Hadoop MapReduce日志存放位置,帮助初学者定位自己遇到的错误。Hadoop MapReduce日志分为两部分,一部分

2015-09-04 01:19:40 2212

原创 hadoop 设置了reduce但是无法执行的bug

今天做mapreduce开发的时候,遇到个诡异的问题,设置了reduce方法,但是就是没有执行。为了进一步验证reduce是否执行,特地在reduce方法里添加了一些提示信息的输出,查看后台task日志文件里面确实没有对应的打印内容,说明reduce没有执行。hadoop版本:1.2.1开发工具:eclipse设计的Reducer方法如下:public stat

2015-09-04 01:09:38 2369

原创 Eclipse远程连接hadoop的hdfs时, 报 Permission denied错误

错误现象:用Eclipse远程连接hadoop集群时报org.apache.hadoop.security.AccessControlException: Permission denied: user=lenvol, access=WRITE_EXECUTE, inode="/input":hadoop:supergroup:rwxr-xr-x错误; 分析:权限控制问题,只要

2015-08-31 16:14:02 2915

原创 hadoop2企业级集群部署(DNS域名解析+NFS密钥共享+AWK批量复制)

注意:apache提供的hadoop-2.6.0的安装包是在32位操作系统编译的,如果在64位的操作上安装hadoop-2.6.0就需要重新在64操作系统上重新编译。本地已经编译好,可以直接使用 F:\BaiduYunDownload\hadoop-2.6.0-x64 ;或者直接将32位安装包的lib包替换为F:\BaiduYunDownload\hadoop-2.6.0-x64\hado

2015-08-28 14:25:42 1131

原创 hadoop集群搭建之NFS服务

Linux操作系统:Ubuntu 12NFS环境规划NFS服务器:192.168.1.201NFS客户端:192.168.1.202、192.168.1.2031. NFS服务器安装及配置(使用root账号)1.1 首先查看下本机是否安装nfs#dpkg --list|grep 'nfs'  如果有安装会显示对应的版本名称信息等1.2 安装nfs软件

2015-08-28 14:13:45 2165

原创 Hadoop集群搭建之搭建DNS

Linux操作系统:Ubuntu 12DNS环境规划DNS服务器:suh01.hadoop.com(192.168.1.201)DNS客户端:suh02.hadoop.com(192.168.1.202)、suh03.hadoop.com(192.168.1.203)一、DNS搭建1. bind 的安装1.1 查看是否安装bind#dpkg --

2015-08-28 14:06:06 1127

转载 linux awk命令详解

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格作为默认分隔符将每行切分为各个域,对切分的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人

2015-08-18 14:29:11 340

原创 Hive学习笔记

环境描述:Hadoop集群版本:hadoop-1.2.1Hive版本:hive-0.10.0Hive在使用时只在一个节点上安装即可。一、Hive安装配置1.上传hive压缩包(hive-0.10.0-bin.tar.gz)hadoop集群的某个节点服务器,解压安装:tar -zxvf hive-0.10.0.tar.gz -C /home/suh/2.修改h

2015-08-16 22:15:14 742

原创 Hive启动报错无法找到class— java.lang.NoClassDefFoundError

Hive启动时,报错无法找到class,如java.lang.NoClassDefFoundErrorException in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/ql/CommandNeedRetryException        at java.lang.Class.forName0

2015-08-16 16:23:45 13551

原创 hadoop1.2.1集群增加datanode节点

案例操作:给hadoop(hadoop1.2.1版本)分布式集群增加一个datanode节点操作步骤说明:1、在新节点上传hadoop,解压安装;2、把namenode的有关配置文件复制到该节点;3、在namenode节点上,修改masters和slaves文件,增加该节点的主机名;4、在namenode节点上,设置ssh免密码登录该节点;5、单独启动该节点上的 dat

2015-08-13 22:04:37 899

翻译 HDFS实现其高可靠性的策略及机制

分布式文件系统(HDFS)的高可靠性主要是由多种策略及机制共同作用实现的。主要有:冗余副本策略可以指定数据文件的副本数量,默认是3;保证所有的数据块都有副本,不至于在一个datanode宕机后,数据的丢失。机架策略集群一般放在不同机架上,机架间带宽要比机架内带宽要小;HDFS具有“机架感知”能力,它能自动实现在本机架上存放一个副本,然后在其它机架再存放另

2015-08-13 21:47:48 6036

原创 Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes

在进行Hive集成Mysql作为元数据过程中,做完所有安装配置工作后,进入到hive模式,执行show databases;执行正常,接着执行show tables;时却报错。关键错误信息如下:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key leng

2015-08-09 22:59:28 1787

原创 Hadoop2.6.0完全分布式集群搭建实操笔记

注意:apache提供的hadoop-2.6.0的安装包是在32位操作系统编译的,如果在64位的操作上安装hadoop-2.6.0就需要重新在64操作系统上重新编译。前期准备工作:1.修改Linux主机名:/etc/hostname2.修改IP:/etc/network/interfaces3.修改主机名和IP的映射关系:/etc/hosts4.查看防火墙状态、关闭防火

2015-08-08 16:10:03 1658

原创 Hadoop1.2.1 完全分布式集群搭建实操笔记

前期准备工作:1.修改Linux主机名:/etc/hostname                        ubuntu系统:vi /etc/hostname                        将ubuntu默认的主机名ubuntu改为suh012.修改IP:/etc/network/interfaces                        修改

2015-08-08 16:06:46 2945 1

原创 Sqoop学习笔记——关系数据库与hdfs间数据迁移

一、安装:上传到hadoop集群的某一个节点上,将sqoop压缩包解压即可直接使用; 二、配置: 将需要连接的数据库(比如Oracle、MySQL)的连接驱动拷贝到 sqoop目录的lib里; 三、配置mysql远程连接GRANT ALL PRIVILEGES ON ekp_11.* TO 'root'@'192.168.1.10' IDENTIFIED BY '123

2015-08-03 15:31:42 5746 1

原创 hadoop问题之java.net.NoRouteToHostException: 没有到主机的路由

hadoop启动过程中遇到下面的问题:2015-08-02 19:43:20,771 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: STARTUP_MSG: /************************************************************STARTUP_MSG: Starting D

2015-08-02 23:33:32 29311 4

原创 使用sqoop实现hive与mysql数据库间数据迁移的时,发现如下错误提示

执行 ./sqoop create-hive-table --connect jdbc:mysql://192.168.1.10:3306/ekp_11 --table job_log --username root --password 123456 --hive-table job_log准备将关系型数据的表结构复制到hive中。但是提示如下一堆错误信息:Warning: /usr

2015-08-02 17:22:38 4035 1

原创 message from server: "Host '192.168.1.10' is not allowed to connect to this MySQL server

在连接本机的mysql 数据库时,配置连接信息,连接发生错误,提示:message from server: "Host '192.168.1.10' is not allowed to connect to this MySQL server但是将IP地址改为localhost又能正常连接到MySQL数据库。临时处理方案:1、先用localhost方式连接到MySQL数据库,然后使用

2015-08-02 15:13:07 9811 2

jdk1_6_45 linux版

jdk1_6_45 linux 安装版本,自己经常用的版本所以上传,以防丢失

2015-06-16

hadoop2.2.0的64位安装包

Hadoop官网上下载的hadoop-2.2.0安装包是32位的,直接运行在64位的linux系统上会有问题,所以需要自己将hadoop-2.2.0安装包编译为64位。

2015-06-16

Hadoop2.2.0集群搭建手册

Hadoop2.2.0版本 - 虚拟机VMWare - Linux(ubuntu) ,多节点伪分布环境搭建详细操作手册,可以直接用于完全分布。每一步都有自己详细操作记录和相关说明,几夜风雨的辛劳搭建和测试。 此操作手册搭建的集群详细说明: 1、由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。 2、采用hadoop2.0官方提供QJM —HDFS,HA的解决方案,在QJM方案中,主备NameNode之间通过一组JournalNode同步元数据信息。 3、这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为active状态。

2015-06-16

Hadoop2.2.0单机伪分布环境快速搭建手册

hadoop2 - 虚拟机VMWare - Linux(ubuntu) ,单节点伪分布环境搭建快速手册,同之前上传的doc文档配套。

2015-06-16

Hadoop2单机伪分布搭建

hadoop2 - 虚拟机VMWare - Linux(ubuntu) ,单节点伪分布环境搭建完整手册

2015-06-16

instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip

instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip 针对64位

2013-03-07

instantclient-sdk-linux-x86-64-11.2.0.2.0.zip

instantclient-sdk-linux-x86-64-11.2.0.2.0.zip 针对Linux 64位

2013-03-07

instantclient-sqlplus-linux-11.2.0.3.0.zip

instantclient-sqlplus-linux-11.2.0.3.0.zip

2013-03-07

instantclient-basiclite-linux-11.2.0.3.0.zip

instantclient-basiclite-linux-11.2.0.3.0.zip

2013-03-07

instantclient-sdk-linux-11.2.0.3.0.zip

instantclient-sdk-linux-11.2.0.3.0.zip

2013-03-07

instantclient-basic-linux-11.2.0.3.0.zip

Oracle Instant client 是oracle提供的简便客户端,instantclient-basic-linux-11.2.0.3.0

2013-03-07

WebService之XFire开发文档和代码

WebService 之XFire 开发文档和代码例子

2012-11-06

Web Service 入门Demo

Web Service开发入门,通过Demo 来快速的学会Web Service的客户端、服务端的搭建,并附带详细描述了在Myeclipse 上如何安装XFire 的插件

2012-08-10

IP自动设置工具

在学校和公司,笔记本每次都要手动的进行IP地址的重新设置,该工具可以快速的简化操作,直接将IP地址进行快速的切换。开启每一次上网的愉快之旅!很给力哦,亲

2012-04-12

Linux red hat 5.5 Server

Linux red hat 5.5 Server

2012-03-23

在VirtualBox下安装rhel-server-5.5详细过程

在虚拟机VirtualBox 上安装redHat rhel-server-5.5 Linux服务器

2012-03-23

网上银行在线支付

整合struts2框架,实现网上银行在线支付的功能。系统通过调用第三方支付网关接口,在该支付网关的测试环境下,演示系统功能。只要将测试环境变换成生产环境就可以直接应用在真实的支付情景。

2011-12-26

VirtualBox 安装Linux 系统详解

在虚拟机VirtualBox 上安装Linux 系统 fedora 14 的详细过程,可谓图文并茂哦!

2011-11-28

DWR 实用例子小集

直接显示各种常用的dwr 实用例子,各类传参情况。

2011-09-20

企业进销存系统-Spring开发

企业进销存系统,是一个典型的数据库开发应用程序,由基础信息模块,采购管理模块,销售管理模块,仓库管理模块,财务管理模块等五大模块组成。

2011-03-28

Struts2+Spring+Hibernate框架实现的简易银行系统

Struts2+Spring+Hibernate框架实现的简易银行系统 适合使用SSH 框架的入门学习。

2011-03-24

一个struts2+spring开发的简易银行系统

这是用Struts2 整合spring 开发的简易银行系统,实现了银行的存取款,查询余额等业务。适合struts2+spring 开发的参考。

2011-03-22

CVS 服务器搭建与 MyEclipse 连接CVS服务器

CVS 服务器的搭建 用MyEclipse 连接CVS服务器 进行团队开发是的版本控制

2011-03-15

空空如也

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

TA关注的人

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