自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 数据仓库----Hive进阶篇 二

上回说到内置函数四、hive的表连接学习前准备三张表: 1、等值连接如果连接条件中是一个等号这是等值连接2、不等值连接如果连接条件中不是一个等号这是不等值连接3、外连接例题:按部门统计员工人数:部门号,部门名称,人数 1)、使用等值连接: 结果为: 查询部门表得到: 可以看出通过直接连接查询的结果少了一个部门,这是因为在empno表中没有operations这个部门,导致w

2016-05-21 17:01:41 1769

原创 数据仓库----Hive进阶篇 一

一、数据的导入1、使用Load语句执行数据的导入1.语法: 其中(中括号中表示可加指令): LOCAL:表示指定的文件路径是否是本地的,没有则说明是HDFS上的文件路径。 OVERWRITE:表示覆盖表中的已有数据。 PARTITION ():如果是向分区表中导入数据的话需要指定分区。2.实例: (1).无分区情况: 其中的'

2016-05-21 15:46:04 14952

原创 几种常见的排序算法

1.冒泡排序 2.直接插入排序 3.简单选择排序 4.希尔排序 5快速排序

2016-05-20 23:00:49 534

转载 zookeeper命令行(zkCli.sh&zkServer.sh)使用及四字命令

zookeeper提供了很多方便的功能,方便我们查看服务器的状态,增加,修改,删除数据(入口是zkServer.sh和zkCli.sh)。还提供了一系列四字命令,方便我们跟服务器进行各种交互,来确认服务器当前的工作情况(这也是服务器监控告警的基础)。本文所讲的zkCli.sh和zkServer.sh均位于以下目录中:/usr/local/zookeeper-server1目录分布情况请参考我的另一篇

2016-04-28 22:12:23 3713

原创 zookeeper的集群安装

1.上传zk安装包(点击这里下载)2.解压3.配置(先在一台节点上配置) 3.1添加一个zoo.cfg配置文件 $ZOOKEEPER/conf mv zoo_sample.cfg zoo.cfg3.2修改配置文件(zoo.cfg) dataDir=/sfd/zookeeper-3.4.5/data server.1=hadoop-master:2888:3

2016-04-22 13:42:07 5569

原创 解释器和编译器区别和联系

1.解释器是一条一条的解释执行源语言。比如php,postscritp,javascript就是典型的解释性语言。   编译器是把源代码整个编译成目标代码,执行时不在需要编译器,直接在支持目标代码的平台上运行,这样执行效率比解释执行快很多。比如C语言代码被编译成二进制代码(exe程序),在windows平台上执行。 他们最大的区别是程序运行时需要解释器边解释边执行,而编译器则在运行时是完全不需要

2016-09-18 19:46:51 9254 1

原创 Git本地分支与合并

1.git branch:创建分支2.git tag:给固定的commit做标记例如:我们有一个分支是做版本release的,当某一个release发现问题的时候,我们希望能根据一个引用轻松的切换回这个提交而不是查看历史记录然后再进行修改这是用到tag。 tag有两种,一种是轻量级的,指的是本地的一个引用;而另外一种我们称之为annotated(带注解的)他实际上是git tag对象存储在git仓

2016-08-07 19:01:52 15742

原创 Git暂存区原理

首先我们有个工作区,让后我们把.git目录当成是Git的工作目录,在这个工作目录里面有个git的对象库。我们假设工作区理有如图所示的树形结构: 第一次commit的时候在第一次add都还没有进行的时候,我们的暂存区还没有被创建出来,git的对象库中也是空的。当我们执行git add的时候,.git目录下面多了个index文件,这个index文件就是我们所说的暂存区,每一个索引都有一个40位的16进

2016-08-07 17:12:36 4027 2

原创 git基本的工作流程

git使用40个16进制字符的SHA-1 Hash来唯一标识git对象 例如:e98757d0598ab6eeaf1df0d78dd00826048bd80bgit中有四种对象:1.blob:表示文本文件,二进制文件,连接文件 2.tree:表示目录 3.commit:大多是情况下表示一个历史提交 4.tag:指定一个固定的历史提交四种对象之间的关系: 一个tag指向一个commit,一个

2016-08-07 15:27:44 839

原创 Git相比较SVN有哪些优点

1.Git是分布式的SCM,SVN是集中式的 2.Git每个历史版本存储完整的文件,SVN存储文件差异 3.Git可离线完成大部分操作,SVN则相反 4.Git有着优雅的分支合并实现 5.Git有更强的撤销修改和修改版本历史的能力 6.Git速度更快,效率更高

2016-08-07 10:59:19 1208

原创 ant 各种标签属性参数介绍

1 没有指定任何参数时,Ant会在当前目录下查询build.xml文件2 可以指定执行一个或多个target。当省略target时,Ant使用标签的default属性所指定的target3 编写build.xml (ant 1.8.2)3.1 Project<project name="demo" default="all" basedir="."></project>project有下面的属性:

2016-07-28 11:29:39 7499

转载 Java Gradle入门指南之内建与定制任务类

1.内建任务类(in-built tasks)Gradle在不断地更新,其内建任务也在不断地丰富,这一章节介绍Gradle中最常用的几个内建任务类,这只是Gradle众多内建任务类中的一部分,抛砖引玉,更多方法可以参见Gradle官方文档1.1 复制(Copy)项目开发和部署过程中,复制文件是很常见的工作,gradle为了简化开发步骤提供了大量的内建任务类, Copy 便是其中之一•先看一段最简

2016-07-23 11:30:39 1552

转载 groovy语法基础

1.注释1.1.单行注释单行注释以//开始,在一行中任何位置都可以被发现。//后面的字符,直到一行的末尾都是注释的一部分。 // a standalone single line comment println “hello” // a comment till the end of the line1.2.多行注释一个多行注释以/开始,在一行中的任何位置都可以发现,/后面的字符将被视为注释的一

2016-07-21 09:24:32 4832

原创 YARN的设计思想和功能组件简介

Yarn的设计思想A. Yarn(Yet Another Resource Negotiator)B. Yarn的基本思想: 将JobTracker啷个主要功能分离成单独的组件,一个全局的ResourceManager和每个应用对应的ApplicationMasterhadoop1.X和hadoop2.X框架对比图: hadoop2.X框架图: Yarn的组件:A. Resour

2016-07-01 16:30:02 2354

原创 YARN的发展背景及基本原理

Yarn产生的历史背景Hadoop是apache基金会的一个项目, 目的是开发一个开源软件,用于可靠的可扩展的,分布式的计算。 Hadoop不是一个软件,而是一个软件库,hadoop作为一个软件库,提供了一个框架,可以以分布式的方式,在集群的多台主机之间,使用简单的编程模型来处理大量的数据集。Hadoop被设计成可以从单主机扩展到数千台主机,并且支持本地计算和存储。 Hadoop本身被设计成可以

2016-07-01 16:24:38 2185

原创 Hadoop1.X mapreduce原理和缺陷

MapReduce的简介:MapReduce是一个软件框架,客房部件的编写应用程序,一并行的方式在数千商用硬件组成的集群节点中处理TB级的数据,并且提供了可靠性和容错的能力。MapReduce的范式: MapReduce处理模型包括两个独立的步骤: A. 第一步是并行Map阶段,输入数据被分割成离散块以便可以单独处理 B. Shuffle阶段 C. 第二步是Reduce阶段,汇总M

2016-07-01 16:17:17 2445

原创 Hadoop的历史和创建

一.Hadoop的历史:hadoop之父DougCuttinghadoop一开始只是ApacheLucene的子项目。ApacheLucene1.全球第一个开源的全文检索引擎工具包2.完整的查询引擎和索引引擎3.部分文本分析引擎4.开发人员可在此基础上建立起完整的全文检索引擎。Nutch1.开源的基于Lucene的网页搜索引擎2.加入网页抓取/解析等功能3.类似于Google等商业搜索引擎Goole

2016-07-01 16:12:12 1239

原创 Hadoop历史和简介

一.Hadoop的历史:hadoop之父DougCuttinghadoop一开始只是ApacheLucene的子项目。ApacheLucene1.全球第一个开源的全文检索引擎工具包2.完整的查询引擎和索引引擎3.部分文本分析引擎4.开发人员可在此基础上建立起完整的全文检索引擎。Nutch1.开源的基于Lucene的网页搜索引擎2.加入网页抓取/解析等功能

2016-07-01 16:10:18 5429

原创 Yarn产生的历史背景

Yarn产生的历史背景 Hadoop是apache基金会的一个项目, 目的是开发一个开源软件,用于可靠的可扩展的,分布式的计算。 Hadoop不是一个软件,而是一个软件库,hadoop作为一个软件库,提供了一个框架,可以以分布式的方式,在集群的多台主机之间,使用简单的编程模型来处理大量的数据集。Hadoop被设计成可以从单主机扩展到数千台主机,并且支持本地计算和存储。

2016-06-30 21:49:57 929

原创 HDFS的主要设计理念

一、HDFS的主要设计理念1、存储超大文件这里的“超大文件”是指几百MB、GB甚至TB级别的文件。2、最高效的访问模式是 一次写入、多次读取(流式数据访问)HDFS存储的数据集作为hadoop的分析对象。在数据集生成后,长时间在此数据集上进行各种分析。每次分析都将设计该数据集的大部分数据甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。3、运行在普通廉价的服务器上HDFS设

2016-06-30 15:12:59 3977

转载 想比较传统消息系统,kafka可以很好的保证有序性~

传统的队列在服务器上保存有序的消息,如果多个consumers同时从这个服务器消费消息,服务器就会以消息存储的顺序向consumer分发消息。虽然服务器按顺序发布消息,但是消息是被异步的分发到各consumer上,所以当消息到达时可能已经失去了原来的顺序,这意味着并发消费将导致顺序错乱。为了避免故障,这样的消息系统通常使用“专用consumer”的概念,其实就是只允许一个消费者消费消息,当然这就意味

2016-06-17 10:29:14 7574

原创 hbase配置哈环境时遇到的问题

1,master.HMasterCommandLine: Master exiting日志中的错误信息:2016-06-13 20:41:51,409 ERROR [main] master.HMasterCommandLine: Master exitingjava.lang.RuntimeException: Failed construction of Master: class org.a

2016-06-14 10:11:27 2527

原创 传统的HDFS单Namenode架构的局限性

先来看看几个基本概念: 1.Namespace(命名空间): 1).有目录文件以及block组成 2).他支持所有对于命名空间相关系统的操作,如增删改查。 2.Block Storage Service (快存储服务)有两个部分 1).管理Block(在NameNode中完成) a.通过控制注册以及阶段性的心跳,来保证DataNode在正确运行

2016-06-01 22:46:05 2946

转载 hadoop单元调试:MRunit(maven配置pom.xml)

hadoop进行单元测试时报错: Found interface org.apache.hadoop.mapreduce.TaskInputOutputContext, but class was expected 我的是因为使用maven的同时自己手动又导入了hadoop2.7.1的所有jar包,使得这里的jar包maven的pom.xml中配置的hadoop的jar包冲突了。 我的解决办法

2016-05-29 10:51:49 2011

原创 设计模式---策略模式

一、什么是策略模式?策略模式:将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现。二、光荣与梦想—鸭子应用:策略模式的实现1、模拟应用背景:鸭子应用代码如下:package com.sfd.duck;/** * 抽象类所有种类的鸭子都要继承的类 * @author sfd * */public abstract class Duck { /** *

2016-05-28 10:05:23 510

原创 JAVA反射机制详解

一.Class类的使用1.在面向对象的世界里,万事万物皆对象。java语言中,静态的成员,普通数据类型类 是不是对象呢? 类是谁的对象呢? 类是对象,类是java.lang.Class类的实例对象。2.这个类怎么表示呢?有三种表示方法:package com.sfd.javareflect;public class text { public static void main(Str

2016-05-27 11:27:03 275

原创 Hive的执行生命周期

七大步骤1.CliDriver进行交互模式1.入口:/bin/hive 2.调用CliDriver类进行初始化过程 3.处理-e,-f,-h等信息,如果是-h,打印提示信息,并退出 4.读取hive的配置文件,设置HiveConf 5.创建一个控制台,进入交互模式2.读取命令processLine进行分割处理在交互方式下,读取每一个输入命令行,直到‘;’为止,然后提交给processLine

2016-05-26 21:57:09 4095

转载 Hive 数据倾斜解决方案(调优)

在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的分

2016-05-26 21:20:47 24709

原创 数据仓库---企业信息工厂(EIF)

企业信息工厂(Corporate Information Factory,简称EIF),是一种建立数据仓库的架构,企业信息工厂的创始人是数据仓库之父Inmon。 企业信息工厂主要包括集成转换层(I&T),操作数据仓库(ODS),企业级数据仓库(EDW),数据集市(DM),探索仓库(EW)等部件。这些部件有机的组合在一起,为企业提通信息服务。 集成转换层的目的是将来自操作型源系统的数据集成转换到数

2016-05-25 20:39:28 2349

原创 linux下编译Hive 源码并导入eclipse中(使用maven)

1.下载hive源码官网下载 我下载的hive-2.0.0版本的。2.使用maven编译。一开始我要使用的是ant进行编译的,可是我的源码目录下没有build.xml文件,只有pom.xml文件,这使得我在使用ant编译的时候总是会报这样的错:Buildfile: build.xml does not exist!Build failed上网查了好多方法,最终却无功而返;只能想其他方法。 突然

2016-05-25 19:19:44 3302 2

原创 数据结构----快速排序

1.基本思想:选择一个基准元素,通常选择第一个元素和最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于登陆基准元素,此时基准元素在其排好序之后的正确位置,然后再用同样的方法递归的排序划分的两部分。2.实例:3.代码实现:package com.sfd.quicksort;public class QuickSort { public static void ma

2016-05-24 20:54:44 398

原创 Hive中表的链接(外连接和自连接)

学习前准备三张表: 1、等值连接如果连接条件中是一个等号这是等值连接2、不等值连接如果连接条件中不是一个等号这是不等值连接3、外连接例题:按部门统计员工人数:部门号,部门名称,人数 1)、使用等值连接: 结果为: 查询部门表得到: 可以看出通过直接连接查询的结果少了一个部门,这是因为在empno表中没有operations这个部门,导致where语句不成立,所以就没有输出。

2016-05-23 21:50:52 10926 1

原创 Hive中自定义函数的实现

1、Hive自定义函数的实现细节1).自定义UDF需要继承:org.apache.hadoop.hive.ql.UDF2).需要evaluate函数,evaluate函数支持重载。2、Hive自定义函数的部署运行1).把程序打包放到目标机器上去2).进入hive客户端,添加jar包:hive> add jar /home/sfd/udf_test.jar3).创建临时函数:hive> cr

2016-05-23 21:47:05 4063 1

转载 HIVE和HBASE区别

1. 两者分别是什么?Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询–因为它只能够在Hdaoop上批量的执行。Apache HBase是一种Key/Value系统,它运行在HDFS之上。

2016-05-22 21:09:17 605

原创 数据结构----冒泡排序

1.基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现他们的排序要求相反时,就将他们互换。 2.实例: 3.代码实现:public static void bubbleSort(int[] a){ for(int i=0;i<a.length;i++){ f

2016-05-20 22:56:37 342

原创 数据结构----简单选择排序

1.基本思想:在要排序的一数组中,选出最小的一个数组与第一个位置的数交换;然后在剩下的术当中咋i找最小的鱼第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。 2.实例: 3.代码实现:public static void simpleSelectionSort(int[] a){ for(int i=0;i<a.length;i++){ int min=i;

2016-05-20 22:36:29 1380

原创 数据结构----希尔排序(最小增量排序)

1.基本思想:算法现将要排序的一组数按某个增量d(n/2,n为要排序数的个数) 分成若干组,每组中记录的下标相差d。对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组,在每组中在进行直接插入排序。当增量减到1时,进行直接插入排序,排序完成。 2.实例: 3.代码实现:public static void shellSort(int[] a){ for(int

2016-05-20 22:07:19 4121

原创 数据结构----直接插入排序

1.基本思想:再要排序的一组数中,假设(n-1)[n>=2]个数已是排好序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 2.实例: 用java实现:public static void insertionSort(int[] a){ int j=0; for(int i=1;i<a.length;i++){

2016-05-20 20:58:34 473

原创 Hive的数据存储(内部表,外部表,分区表,桶表,视图)

一,Hive的数据存储1,基于HDFS2,没有专门的数据存储格式3,存储结构主要包括:数据库,文件,表,视图4,可以直接加载文本文件(.txt文件等)5,创建表示,指定Hive数据的列分隔符与行分隔符二,Hive的数据模型1,表1,Table 内部表 1).与数据库中的Table在概念上是类似的 2).每一个Table在Hive中都有一个相应的目录存储数据 3).所有的Tab

2016-05-20 17:36:48 3649

原创 数据仓库——Hive入门介绍

一,什么是Hive:1.Hive是建立在Hadoop HDFS上的数据仓库基础架构;2.Hive可以用来进行数据提取转化加载(ETL)3.Hive定义了简单的类似SQL查询语言,称为HQL它允许熟悉SQL的用户查询数据4.Hive允许熟悉MapRduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作;5.Hive是SQL解析引

2016-05-20 11:35:17 4062

hive源码分析

hive 源码分析

2016-05-25

zookeeper-3.4.5.tar.zip

需要解压两次

2016-04-22

apache-storm-0.9.2-incubating.tar.gz

2016-04-22

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

TA关注的人

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