随笔分类 - JAVA
摘要:查阅了几篇中英文资料,发现有的地方说的不是很全部,总结在此,共有两种命令行的方式来实现数据的导入导出功能,即备份和还原。1 HBase本身提供的接口其调用形式为:1)导入./hbase org.apache.hadoop.hbase.mapreduce.Driver import 表名 数据文件位置其中数据文件位置可为本地文件目录,也可以分布式文件系统hdfs的路径。当其为前者时,直接指定即可,也可以加前缀file:///而当其伟后者时,必须明确指明hdfs的路径,例如hdfs://mymaster:9000/path2)导出./hbase org.apache.hadoop.hbase.ma
阅读全文
摘要:Map-Reduce工作原理1 client run job2 get new job ID3 copy job resources4 submit job5 initialize job6 retrieve input splits7 heartbeat (return task)8 retrieve job resource9 lunch10 runJobClient的runJob()方法是用于新建JobClient实例和调用其submitJob()方法。提交作业后,runJob()将每秒轮询作业的进度,如果发现与上一个记录不同,便把报告显示到控制台。作业完成后,如果成功,就显示作业计数器
阅读全文
摘要:什么时候需要HBase 半结构化或非结构化数据,对于数据结构字段不够确定或杂乱无章很难按一个概念去进行抽取的数据适合用HBase。当业务发展需要存储author的email,phone,address信息时RDBMS需要停机维护,而HBase支持动态增加.记录非常稀疏RDBMS的行有多少列是固定的,为null的列浪费了存储空间。而如上文提到的,HBase为null的Column不会被存储,这样既节省了空间又提高了读性能。多版本数据如上文提到的根据Row key和Column key定位到的Value可以有任意数量的版本值,因此对于需要存储变动历史记录的数据,用HBase就非常方便了。比如上例中
阅读全文
摘要:1、MapReduce理论简介1.1 MapReduce编程模型 MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是"任务的分解与结果的汇总"。 在Hadoop中,用于执行MapReduce任务的机器角色有两个:一个是JobTracker;另一个是 TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的。一个Hadoop集群中只有一台 JobTracker。 在分布式计算中
阅读全文
摘要:主要介绍用DataJoin类来链接多数据源,先看一下例子,假设二个数据源customs和orderscustomer ID Name PhomeNumber1 赵一 025-5455-5662 钱二 025-4587-5653 孙三 021-5845-5875客户的订单号:Customer ID order ID Price Data2 1 93 2008-01-083 2 43 2012-01-211 ...
阅读全文
摘要:摘要:Intel会和Hadoop擦出怎样的火花?今年7月Intel发布了Hadoop发行版,在功能和用户界面进行了完善。Intel在GitHub维护开源项目Project Panthera,并积极招募committer。目前Intel在Apache Hadoop社区中没有一位committer,但你不能小看CPU巨人投入Hadoop怀抱的热情和努力。【CSDN报道】Intel在今年7月发布了首个Hadoop发行版,用Intel亚太研发有限公司总经理、Intel软件与服务事业部中国区总经理何京翔博士的原话来说,这是“过去几年研究的成果。”在2012Hadoop与大数据技术大会上,Intel将推出
阅读全文
摘要:首先,将测试数据上载到hadoop的hdfs上。进入hadoop目录后输入命令:bin/start-all.sh(启动hadoop的守护进程)输入jps看进程是否启动,启动完成后输入命令:bin/hadoop fs -put input02 input //将hadoop目录下的input02文件夹上载到文件系统hdfs上输入命令:bin/hadoop fs -ls//查看文件系统上的文件 也可以用bin/hadoop fs -ls input 查看文件是否上载成功文件上载成功后,打开eclipse Maxtemperature代码 -->右击-->Run as-->Run
阅读全文
摘要:从架构角度而言,hadoop HDFS 是一个master/slave架构的系统。 NameNode类似于master的身份,负责管理文件系统的名字空间(namespace)以及客户端对文件meta信息的访问。所谓meta信息,就是指文件存储路径,复制因子,名称等信息以及修改日志等。同时NameNode还通过侦听客户端发送过来的心跳信息,维护整个hadoop Cluster的节点状态。 HDFS中的实际数据则由DataNode负责存储和维护,DataNode是一个slave身份。 向HDFS写入一个文件数据时,默认情况下hadoop系统Block Szie=64MB,将当前文件切分成多个...
阅读全文
摘要:分布式文件系统部署-Hadoop【转载】在Hadoop部署的分布式文件系统中有4种角色:namenode,datanode,jobtracker,tasktracker。Namenode和Jobtracker属于Master角色,Datanode和Tasktracker属于Slaver角色。Namenode和Datanode用于分布式存储,JobTracker和Tasktracker用于分布式计算。这里我们不需要用到分布式计算,故忽略分布式计算的配置和部署。Hadoop有两种部署方式:1)方式1:master和slave独立启动,master无需访问slave;(这种方式最简单)2)方式2:m
阅读全文
摘要:1. JDK配置1 从Sun的网站下载JDK,注意有两个linux下的安装包。一个是rpm,一个是普通的bin,二者均可。2 进入下载的目录,安装jdk。(不会的就google)。3 等待其安装结束,不必配置其他信息。在Fedora 12中djk的环境变量均已自动配置。注意:请先卸载系统自带的openJDK,保险一些。可从安装包管理器中卸载。2. Hadoop配置2.1 虚拟机配置 一台NameNode,两台DataNode。2.2 配置总体过程 以下记录配置过程以及要点。2.2.1 主要配置内容 配置可分为两类:系统配置和Hadoop配置,主要内容包括主机配置、SSH和Hadoop三部分内容
阅读全文
摘要:安装Maven后每次启动出现警告信息:Eclipse is running in a JRE, but a JDK is requiredSome Maven plugins may not work when importing projects or updating source folders.分两步解决问题:1. 检查Eclipse正在使用的JRE‘Window’ -> ‘Preferences’ -> ‘Java’ -> ‘Installed JREs’ 确定正在使用JDK而非JRE.如果没有JDK, 则先新增一个Standard VM.2. 配置Eclipse.
阅读全文
摘要:这两天在网上看了个MapReduce的多文件输出的帖子: http://blog.csdn.net/inkfish。写的不错。我试着完成了一下。也是分为三个文件:我这三个文件,跟原作者的稍有不同。其中有些类是我原来写的,我直接拷贝过来的,所以有点不同。My_LineRead.java [java] view plaincopyprint?publicclassMy_LineRead<K,V>extendsRecordWriter<K,V>{privatestaticfinalStringutf8="UTF-8";privatestaticfinalS
阅读全文
摘要:Maven使用教程1. Maven简介1. Maven的出发点在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们 都要重复相同的开发步骤:编码,测试,打包,发布,文档。实际上这些步骤是完全重复性的工作。那为什么让软件开发人员去重复这些工作?开发人员的主要任务 应该是关注商业逻辑并去实现它,而不是把时间浪费在学习如何在不同的环境中去打包,发布,。。。Maven正是为了将开发人员从这些任务中解脱出来而诞生的。2. Maven能做什么?Maven是由早期为Jakarta Turbine定制的构建工具发展而来的,现在成为了一个独立的软件项目管理工具。Maven能够:1)理解并管
阅读全文
摘要:Maven简介 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 make的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它元信息(如开发人员/拥有者、版本或站点主页)。 Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目...
阅读全文
摘要:Hadoop学习全程记录——在Eclipse中运行第一个MapReduce程序接上一篇文章:Hadoop学习全程记录——hadoop 入门 见 http://www.codesky.net/Linux/2012-01/51990.htm这是Hadoop学习全程记录第2篇,在这篇里我将介绍一下如何在Eclipse下写第一个MapReduce程序。新说明一下我的开发环境:操作系统:在windows下使用wubi安装了Ubuntu 10.10Hadoop版本:hadoop-0.20.2.tar.gzEclipse版本:eclipse-jee-helios-SR1-linux-gtk.tar.gz为了
阅读全文
摘要:最近在研究分布式数据,其中用到的就是Hadoop, Hadoop网上的资料不多,特别是运行中运行的问题更是找不到,以下是我运行的一点心得,嘻嘻。如果在map/reduce的程序中用到java 的代码,可以在java的环境下写好,我用的是eclipse。1.进入工程目录找到代码,进bin目录,将用到的包打成 .jar 文件。bin 文件下是 .class文件,一定要是bin,不是src文件中的 .java 文件。在ubuntu的打.jar 的命令是 jar -cvfjarname.jar ./*2.将打好的 .jar文件复制到 Hadoop的目录下。3.切换到Hadoop目录下,编译含map/r
阅读全文
摘要:准备:1.下安装cygwin2.注意选择sshd组件2.安装putty步骤:1. 修改环境变量在path中添加putty所在目录的路径,让putty能在任何位置直接执行2. 修改cygwin的启动批处理文件 cygwin.bat,如下:@echo off D: chdir D:\cygwin\bin bash -login -i -c "ps -e | grep -c sshd || /usr/sbin/sshd" start putty localhost 脚本说明:ps -e | grep -c sshd || /usr/sbin/sshd命令,可以检查是否已经有ssh
阅读全文
摘要:Java并发编程总结---Hadoop核心源码实例解读(2011-05-26 10:42:44)转载▼标签:并发编程分类: 编程程序设计需要同步(synchronization),原因:1)复杂的功能要求的需要使用多线程编程,线程之间存在读写共享变量。2)读写共享变量(shared mutual variable),JVM的内存模型(Memory model: decide when and how changes made by one thread become visuble to others)受到其它因素干扰。3)对共享变量的操作非原子性。例如 i++;就不是原子操作,它分为两部分,
阅读全文
摘要:由于Hadoop的MapReduce和HDFS都有通信的需求,需要对通信的对象进行序列化。Hadoop并没有采用Java的序列化,而是引入了它自己的系统。org.apache.hadoop.io中定义了大量的可序列化对象,他们都实现了Writable接口。实现了Writable接口的一个典型例子如下:[java] view plaincopyprint?publicclassMyWritableimplementsWritable{//Somedata private<SPANstyle="COLOR:#ff0000">intcounter;</SPAN&
阅读全文
摘要:下面给出了Hadoop的包的功能分析。PackageDependencestool提供一些命令行工具,如DistCp,archivemapreduceHadoop的Map/Reduce实现filecache提供HDFS文件的本地缓存,用于加快Map/Reduce的数据访问速度fs文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口hdfsHDFS,Hadoop的分布式文件系统实现ipc一个简单的IPC的实现,依赖于io提供的编解码功能参考:http://zhangyu8374.iteye.com/blog/86306io表示层。将各种数据编码/解码,方便于在网络上传输net封装部分
阅读全文
浙公网安备 33010602011771号