
Hadoop研究
nuoline
关注NLP,ML,云计算,大数据,hadoop
微博:http://weibo.com/nuoline
个人博客网站:http://www.zhaizhouwei.cn/
展开
-
HBase 0.94版本新特性、性能优化详…
众所周知,HBase0.94对性能做了很多优化,记录一下个人对其实现细节及如何更好应用的理解。0.94引入了两个在HBase层的数据压缩:一.DataBlock compression1.1 作用DataBlock compression指的是对HFile v2中的Data Block进行压缩,DataBlock既存储在Disk上(HDFS中),也会存在于LRU Cache中,原创 2013-02-25 18:41:20 · 1048 阅读 · 0 评论 -
Java操作Hbase插入查询删除-转
首先需要新建JAVA项目,添加的包有:有关Hadoop的hadoop-core-0.20.204.0.jar,有关Hbase的hbase-0.90.4.jar、hbase-0.90.4-tests.jar以及Hbase资源包中lib目录下的所有jar包代码如下:import java.io.IOException;import java.util.ArrayList;import ja原创 2013-02-25 18:42:21 · 610 阅读 · 0 评论 -
通过mapreduce向Hbase写数据
1.import java.io.IOException;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import org.apache.hadoop.conf.Configured;import org.apache.hadoop.fs.Path;i原创 2013-02-25 18:42:30 · 1197 阅读 · 0 评论 -
hive之SerDe概述
1.概述 当进程在进行远程通信时,彼此可以发送各种类型的数据,无论是什么类型的数据都会以二进制序列的形式在网络上传送。发送方需要把对象转化为字节序列才可在网络上传输,称为对象序列化;接收方则需要把字节序列恢复为对象,称为对象的反序列化。Hive的反序列化是对key/value反序列化成hivetable的每个列的值。Hive可以方便的将数据加载到表中而不需要对数据进行转换,这样在处理海量原创 2013-02-25 18:42:52 · 937 阅读 · 0 评论 -
Hive Meta Table
一,主要数据表介绍1,TBLS:记录和存储hive table的创建时间,名称,类型等信息。FieldTypeNullKeyDefaultTBL_IDbigint(20)NOPRINULLCREATE_TIMEint(11)NONULLDB_IDbigint(20)YES原创 2013-02-25 18:42:54 · 1034 阅读 · 0 评论 -
hadoop streaming/c++编程指南
1. Hadoopstreaming简介与工作机制 Hadoop streaming可以帮助用户创建和运行一类特殊的Map/Reduce作业,这些特殊的Map/Reduce作业是由一些可执行文件或脚本文件充当Mapper或者reducer。Mapper和reducer都是可执行文件,它们从标准输入读入数据(一行一行读),并把计算结果发给标准输出。Hadoop Stream原创 2013-02-25 18:43:27 · 1682 阅读 · 3 评论 -
Hadoop概述
注:文中图表未附,转载请注明1.Hadoop概述Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。下面将从几个方面阐述。2.1 Hadoop起源及简介Hadoop起源于Google的集群系统, Google的数据中心使用廉价LinuxPC机组成集群,在上面运行各种应用。即使是分布式开原创 2013-02-25 18:34:08 · 1062 阅读 · 0 评论 -
HDFS构架与设计
1 HDFS构架与设计1.1 前提和设计目标1、硬件错误硬件错误是常态,而非异常情况,HDFS可能是有成百上千的server组成,任何一个组件都有可能一直失效,因此错误检测和快速、自动的恢复是HDFS的核心架构目标。2、流式数据访问运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。相比数据访问的低延迟问题,原创 2013-02-25 18:34:34 · 575 阅读 · 0 评论 -
Map/Reduce概述
Map/Reduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(化简)",和他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。Hado原创 2013-02-25 18:34:45 · 585 阅读 · 0 评论 -
hbase基准测试
1.环境配置a.配置$HADOOP_HOME下的conf/hadoop-env.sh文件,修改其中的HADOOP_CLASSPATH为如下exportHADOOP_CLASSPATH=$HADOOP_CLASSPATH:/$HBASE_HOME/hbase-0.90.6.jar:/$HBASE_HOME/hbase-0.90.6-tests.jar:/$HBASE_HOME/conf:原创 2013-02-25 18:42:17 · 2413 阅读 · 1 评论 -
HBase性能参数调优
配置优化zookeeper.session.timeout默认值:3分钟(180000ms)说明:RegionServer与Zookeeper间的连接超时时间。当超时时间到后,ReigonServer会被Zookeeper从RS集群清单中移除,HMaster收到移除通知后,会对这台server负责的regions重新balance,让其他存活的RegionServer接管.调优:这个t原创 2013-02-25 18:42:15 · 721 阅读 · 1 评论 -
hadoop常见配置含义
其中红色的配置为必须配置参数 参数取值备注fs.default.nameNameNode 的URI。hdfs://主机名/dfs.hosts/dfs.hosts.exclude许可/拒绝DataNode列表。如有必要,用这个文件控制许可的datanode列表。dfs.replication默认: 3数据复制的分数dfs.name.dir举原创 2013-02-25 18:42:02 · 823 阅读 · 0 评论 -
HBase vs Cassandra-装载
原文: http://ria101.wordpress.com/2010/02/24/hbase-vs-cassandra-why-we-moved/原作者:Dominic Williams原文发布日期:February 24, 2010 at 7:27 pm译者:王旭(http://wangxu.me/blog/ ,@gnawux)翻译时间:2010年3月21-25日我的团队近来正原创 2013-02-25 18:41:27 · 495 阅读 · 0 评论 -
HBase二级索引与Join
二级索引与索引Join是Online业务系统要求存储引擎提供的基本特性。RDBMS支持得比较好,NOSQL阵营也在摸索着符合自身特点的最佳解决方案。这篇文章会以HBase做为对象来探讨如何基于Hbase构建二级索引与实现索引join。文末同时会列出目前已知的包括0.19.3版secondaryindex, ITHbase,Facebook和官方Coprocessor方案的介绍。理论目原创 2013-02-25 18:41:29 · 558 阅读 · 0 评论 -
Bulk Loading - Hbase
Overview">9.8.1. OverviewHBase includes several methods of loading data into tables. Themost straightforward method is to either use the TableOutputFormat class from a MapReduce job, or uset原创 2013-02-25 18:41:31 · 546 阅读 · 0 评论 -
bulk-load装载hdfs数据到hbase
bulk-load的作用是用mapreduce的方式将hdfs上的文件装载到hbase中,对于海量数据装载入hbase非常有用,参考http://hbase.apache.org/docs/r0.89.20100621/bulk-loads.html:hbase提供了现成的程序将hdfs上的文件导入hbase,即bulk-load方式。它包括两个步骤(也可以一次完成):1 将文件包装成hf原创 2013-02-25 18:41:35 · 1872 阅读 · 0 评论 -
Hbse源码分析-HFileOutputFo…
原文地址:Hbse源码分析-HFileOutputFormat作者:天若有情 开始学习使用Hbase,不知道对不对 但是先从源码开始读起吧....hadoop mr 输出需要导入hbase的话最好先输出成HFile格式,再导入到HBase,因为HFile是HBase的内部存对应的源码为:[java] viewplaincopy package转载 2013-02-25 18:41:38 · 1801 阅读 · 0 评论 -
hadoop生态链资源
1.官方资源http://hadoop.apache.org http://cassandra.apache.org/ http://incubator.apache.org/chukwa/ http://incubator.apache.org/hama/ http://hbase.apache.org/ http://hive.apache.org/ http://mahout.原创 2013-02-25 18:41:43 · 1027 阅读 · 0 评论 -
hadoop c++ pipes接口实现
(1)首先我们需要知道map-reduce的基本原理,这里不说了。其次我们需要知道,在用C++编写hadoop应用程序时,需要包含三个头文件:#include "Pipes.hh"#include "TemplateFactory.hh"#include "StringUtils.hh"这三个文件在hadoop安装包的 “c++\Linux-amd64-64\include\” 或“c+原创 2013-02-25 18:41:49 · 1734 阅读 · 0 评论 -
流式计算之Storm简介
原文地址:流式计算之Storm简介作者:YOFEEStorm是一个分布式的、容错的实时计算系统,遵循Eclipse Public License1.0,Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm之于实时处理,就好比Hadoop之于批处理。Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。可以使用任意编程语言来做开发。转载 2013-02-25 18:41:51 · 644 阅读 · 0 评论 -
部署Zookeeper
下面我以ubuntu 9.10环境为例进行部署Zookeeper1.1安装前准备1.Java6 环境要求安装如果用Zookeeper在windows条件下运行,应该安装Cygwin.2.在hhtp://hadoop.apache.org/zookeeper/releases.html下载稳定释放zookeeper并在合适的地方解压% tar xzf zookeeper-x.y.z.ta原创 2013-02-25 18:34:52 · 465 阅读 · 0 评论 -
WordCount-Map/Reduce示例
这里我们写一个更全面的WordCount例子,它使用了我们已经讨论过的很多Map/Reduce框架提供的功能。运行这个例子需要HDFS的某些功能,特别是DistributedCache相关功能。因此这个例子只能运行在 伪分布式 或者 完全分布式模式的 Hadoop上。同样下面的例子的先决条件是Hadoop被正确安装、配置和正常运行中。1.1 源码1. package org.myorg原创 2013-02-25 18:34:54 · 625 阅读 · 0 评论 -
hbase API简介
1.HBase是Hadoop的数据库,能够对大数据提供随机、实时读写访问。他是开源的,分布式的,多版本的,面向列的,存储模型。HBaseMaster是服务器负责管理所有的HRegion服务器,HBaseMaster并不存储HBase服务器的任何数据,HBase逻辑上的表可能会划分为多个HRegion,然后存储在HRegionServer群中,HBase Master Server中存储的是从原创 2013-02-25 18:42:23 · 616 阅读 · 0 评论 -
HBase数据库性能调优
因官方BookPerformanceTuning部分章节没有按配置项进行索引,不能达到快速查阅的效果。所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正。配置优化 zookeeper.session.timeout 默认值:3分钟(180000ms) 说明:RegionServer与Zookeeper间的连接超时时间。当超时时间到后,ReigonServer原创 2013-02-25 18:42:25 · 551 阅读 · 0 评论 -
Hbase几种数据入库方式比较
1. 预先生成HFile入库这个地址有详细的说明http://blog.youkuaiyun.com/dajuezhao/archive/2011/04/26/6365053.aspx2. 通过MapReduce入库import java.io.IOException;import org.apache.commons.logging.Log;import org.apache.commons.l原创 2013-02-25 18:42:28 · 2476 阅读 · 0 评论 -
hadoop Streaming之aggregate
1. aggregate简介aggregate是Hadoop提供的一个软件包,其用来做一些通用的计算和聚合。Generally speaking, in order to implement an application usingMap/Reduce model, the developer needs to implement Map and Reducefunctions (and原创 2013-02-25 18:42:43 · 694 阅读 · 0 评论 -
hive之脚本执行
Hive是基于Hadoop的数据仓库,可以将结构化的数据文件hive映射为一张数据库表,并提供几乎完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 Hive目前还不支持像Mysql那样的sql脚本,如果遇到需要批量处理HQL就相对麻烦,但是可以使用比较笨的shell脚本执行批量HQL命令,原理很简单,在shell脚本中用echo命令将HQL命令以字符串的形式导原创 2013-02-25 18:42:45 · 7492 阅读 · 0 评论 -
PIG之参数传递
在写pig脚本时往往需要外部参数传入,在pig脚本中也是可以类似与一般的shell实现的。例如有一个求top-N的简单脚本,需要传入输入路径和N值:-- topn.pig --A = LOAD '$input' USING PigStorage('\t') AS (url, count);top = ORDER A BY count DESC;topn = LIMIT top $n;D原创 2013-02-25 18:42:50 · 2141 阅读 · 0 评论 -
hadoop端口
HDFS端口 参数描述默认配置文件例子值fs.default.namenamenodenamenodeRPC交互端口8020core-site.xmlhdfs://master:8020/dfs.http.addressNameNodeweb管理端口50070hdf原创 2013-02-25 18:43:08 · 987 阅读 · 0 评论 -
hadoop参数-core-site.xml
三个缺省配置参考文件说明core-default.html 序号参数名参数值参数说明1hadoop.tmp.dir/tmp/hadoop-${user.name}临时目录设定2hadoop.native.libtrue使用本地hadoop库标识。3hadoop.h原创 2013-02-25 18:43:10 · 4421 阅读 · 0 评论 -
php写mapreduce程序示例
用PHP写hadoop的mapreduce程序Hadoop本身是Java写的,所以,给hadoop写mapreduce,人们会自然地想到java但hadoop里面有个contrib叫做hadoopstreaming,这是一个小工具,为hadoop提供streaming支持,使得任何支持标准IO (stdin,stdout)的可执行程序都能成为hadoop的mapper 或者 reducer原创 2013-02-25 18:42:13 · 4022 阅读 · 0 评论 -
Hadoop发展现状乱而稳定的解读
雅虎开发者DougCutting六年前创建了一个用于管理,存储和分析大量数据的分布式计算平台hadoop,现在大家也称云计算平台,用他儿子的玩具大象命名,并把它交给阿帕奇软件基金会。鉴于围绕Hadoop建立的整个行业的迅速,这会使某些人觉得非常惊讶,那就是阿帕奇软件基金会最近才推出了ApacheHadoop 1.0——被认为是足够稳定而成为“企业就绪”的第一个版本。Hadoop乱象雅虎开发原创 2013-02-25 18:41:58 · 2546 阅读 · 0 评论 -
HADOOP_CLASSPATH设置
在写hadoop程序编译时,往往需要HADOOP_CLASSPATH路径,可通过以下方式进行在编译脚本中设置:for f in $HADOOP_HOME/hadoop-*.jar;doCLASSPATH=${CLASSPATH}:$fdonefor f in $HADOOP_HOME/lib/*.jar; doCLASSPATH=${CLASSPATH}:$fdonefor f原创 2013-02-25 18:41:40 · 23018 阅读 · 1 评论 -
部署Hadoop_单机部署
部署Hadoop1.1 Hadoop单机部署首先我们从在单机上完成Hadoop的安装与使用以便可以对Hadoop分布式文件系统(HDFS)和Map-Reduce框架有所体会,比如在HDFS上运行示例程序或简单作业等。1.1.1先决条件1 支持平台1)GNU/Linux是产品开发和运行的平台。Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证。2)Win原创 2013-02-25 18:34:56 · 497 阅读 · 0 评论 -
MapReduce: 一个巨大的倒退
前言databasecolumn的数据库大牛们(其中包括PostgreSQL的最初伯克利领导:MichaelStonebraker)最近写了一篇评论当前如日中天的MapReduce技术的文章,引发剧烈的讨论。我抽空在这儿翻译一些,一起学习。译者注:这种 Tanenbaum vs. Linus式的讨论自然会导致非常热烈的争辩。但是老实说,从 Tanenbaum vs. Linus的辩原创 2013-02-25 18:35:02 · 817 阅读 · 0 评论 -
hadoop.terasort测试
硬件配置:node configuration: 2*4-core 16GB-ram 4*1T-storagenode number: 11 软件配置(其他是默认设置):replication:1---------------------------------测试过程中调节的参数:mapred.tasktracker.map.tasks.maximum=4(共八个cores,留一个给d原创 2013-02-25 18:36:17 · 1173 阅读 · 0 评论 -
hadoop hive
DDL Operations创建表hive> CREATE TABLE pokes (foo INT, barSTRING);创建表并创建索引字段dshive> CREATE TABLE invites (foo INT, bar STRING)PARTITIONED BY (ds STRING);显示所有表hive> SHOW TABLES;按正条件(正则表达式)显示表,hi原创 2013-02-25 18:36:42 · 425 阅读 · 0 评论 -
Hadoop Streaming机制
1,概述 Hadoop是google云计算系统的Java实现,最主要的就是实现了Map/Reduce模型以及分布式文件系统,默认提供Java编程接口,另外针对其他语言方便编写map/reduce程序,分别起拱了流和管道机制,管道机制是专门针对C++编程的。而Streaming框架允许任何程序语言实现的程序在HadoopMapReduce中使用,特别是脚本语言,一下介绍一下hadoo原创 2013-02-25 18:39:52 · 566 阅读 · 0 评论 -
Oozie
Oozie不同于在客户端运行并提交作业的JobControl,Ooize(http://yahoo.github.com/oozie/)作为服务器运行,客户端提交一个工作流到服务器。在Ooize中,工作流是一个由动作(action)节点和控制流节点组成的DAG(有向无环图)。动作节点运行MapReduce作业或Pig作业来执行工作流任务,就像HDFS的移动文件操作。控制流节点通过构建条件逻辑(原创 2013-02-25 18:40:23 · 2545 阅读 · 0 评论 -
HBASE SHELL基本命令
说明:新版hbase取消了对HQL的支持,只能使用shell命令:disable 'tableName' --disable表。注:修改表结构时,必须要先disable表。命令:enable 'tableName' --使表可用命令:drop 'tableName' --删除表HBase基本命令下面我们再看看看HBase的一些基本操作命令,我列出了几个常用的HBase Shell命令,原创 2013-02-25 18:41:16 · 627 阅读 · 0 评论