随笔分类 -  hadoop&大数据

摘要:说明:通过本文对MapReduce编程模型循序渐进的说明,你可以对MapReduce工作机制有一个总体上的很好的把握,是来自IBM developerWorks的一篇非常好的文章(转载)!Google 在 2001 年发布图像搜索功能时,只有 2.5 亿索引图像,不到 10 年,这个巨大的搜索功能已经可以检索超过 100 亿个图像了,每分钟有 35 小时的内容上传到 YouTube。据称,Twitter 每天平均处理 5500 万 tweet。今年早些时候,搜索功能每天记录 6 亿条查询记录。这就是我们讨论大数据的意义所在。如此大规模的数据一度仅限于大企业、学校和政府机构 — 这些机构有能力购 阅读全文
posted @ 2012-11-30 13:02 beanmoon 阅读(1649) 评论(0) 推荐(0) 编辑
摘要:以下为hadoop中使用的常用类说明(来源于hadoop api),排列仅以学习时出现的顺序为参考,不做其他比较:1. Configurationpublic class Configuration extends Object implements Iterable<Map.Entry<String,String>>, WritableProvides access to configuration parameters.ResourcesConfigurations are specified by resources. A resource contains a 阅读全文
posted @ 2012-11-25 21:38 beanmoon 阅读(1114) 评论(0) 推荐(0) 编辑
摘要:设计理念: 1、超大文件 2、流式数据访问 3、商用普通硬件不适合场景: 1、低时间延迟的数据访问 2、大量的小文件 3、多用户写入,任意修改文件一、HDFS的基本概念1.1、数据块(block)HDFS(HadoopDistributed File System)默认的最基本的存储单位是64M的数据块。和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。目的:最小化寻址,加快数据传输速度列出文件系统中各个文件有哪些块构成:hadoop fsck / -files -bloc 阅读全文
posted @ 2012-11-23 10:46 beanmoon 阅读(2255) 评论(0) 推荐(0) 编辑
摘要:注:该文是前一篇博客的很好的中文说明。Avro(读音类似于[ævrə])是Hadoop的一个子项目,由Hadoop的创始人Doug Cutting(也是Lucene,Nutch等项目的创始人,膜拜)牵头开发。Avro是一个数据序列化系统,设计用于支持大批量数据交换的应用。它的主要特点有:支持二进制序列化方式,可以便捷,快速地处理大量数据;动态语言友好,Avro提供的机制使动态语言可以方便地处理Avro数据。 当前市场上有很多类似的序列化系统,如Google的Protocol Buffers, Facebook的Thrift。这些系统反响良好,完全可以满足普通应用的需求。针对重复开发的 阅读全文
posted @ 2012-11-22 10:39 beanmoon 阅读(837) 评论(0) 推荐(0) 编辑
摘要:IntroductionApache Avro™ is a data serialization system.Avro provides:Rich data structures.A compact, fast, binary data format.A container file, to store persistent data.Remote procedure call (RPC).Simple integration with dynamic languages. Code generation is not required to read or write data files 阅读全文
posted @ 2012-11-22 10:24 beanmoon 阅读(466) 评论(0) 推荐(0) 编辑
摘要:前言接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇到的这些问题有些是Hadoop自身的缺陷(短板),有些则是使用的不当。在解决问题的过程中,有时需要翻源码,有时会向同事、网友请教,遇到复杂问题则会通过mail list向全球各地Hadoop使用者,包括Hadoop Committer(Hadoop开发者)求助。在获得很多人帮助后,自己将遇到问题和心得整理成文,希望本文可以对那些焦头烂额的Hadoop新手们有所帮助,少走笔者的弯路。PS. 本文基于 阅读全文
posted @ 2012-11-22 00:23 beanmoon 阅读(477) 评论(0) 推荐(0) 编辑
摘要:JSON(JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of theJavaScript Programming Language,Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that i 阅读全文
posted @ 2012-11-21 20:59 beanmoon 阅读(203) 评论(0) 推荐(0) 编辑
摘要:(1). 在执行<Hadoop: the defenitive guide 3th>的如下命令时: % echo "Text" | hadoop StreamCompressor org.apache.hadoop.io.compress.GzipCodec | gunzip - Text 由于是在eclipse中编译的此文件,所以默认加上了自定义的包名路径:ch04/StreamCompressor,如果跑到ch04目录下直接执行的话,会报如下错: Exception in thread "main" java.lang.NoClassDe 阅读全文
posted @ 2012-11-19 11:54 beanmoon 阅读(911) 评论(0) 推荐(0) 编辑
摘要:目前大数据存储有两种方案可供选择:行存储和列存储。业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全、可靠、完整性。从目前发展情况看,关系数据库已经不适应这种巨大的存储量和计算要求,基本是淘汰出局。在已知的几种大数据处理软件中,Hadoop的HBase采用列存储,MongoDB是文档型的行存储,Lexst是二进制型的行存储。在这里,我不讨论这些软件的技术和优缺点,只围绕机械磁盘的物理特质,分析行存储和列存储的存储特点,以及由此产生的一些问题和解决办法。一.结构布局行存储数据排列列存储数据排列表格的灰色背景部分表示行列结构,白色背景部分表示数据的物理分布,两种存储的 阅读全文
posted @ 2012-11-13 20:57 beanmoon 阅读(617) 评论(0) 推荐(0) 编辑
摘要:获取默认配置配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知道这些配置文件有哪些配置可以生效,上网找的配置可能因为各个hadoop版本不同,导致无法生效。浏览更多的配置,有两个方法:1.选择相应版本的hadoop,下载解压后,搜索*.xml,找到core-default.xml,hdfs-default.xml,mapred-default.xml,这些就是默认配置,可以参考这些配置的说明和key,配置hadoop集群。2.浏览apache官网,三个配置文件链接如下: ht 阅读全文
posted @ 2012-11-12 21:09 beanmoon 阅读(849) 评论(0) 推荐(0) 编辑
摘要:通常,集群里的一台机器被指定为NameNode,另一台不同的机器被指定为JobTracker。这些机器是masters。余下的机器即作为DataNode也作为TaskTracker。这些机器是slaves官方地址:(http://hadoop.apache.org/common/docs/r0.19.2/cn/cluster_setup.html)1 先决条件确保在你集群中的每个节点上都安装了所有必需软件:sun-JDK ,ssh,HadoopJavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本。ssh必须安装并且保证sshd一直运行,以便用Hadoop 脚本管理远端Hado 阅读全文
posted @ 2012-11-12 21:08 beanmoon 阅读(2083) 评论(0) 推荐(0) 编辑
摘要:学习了hadoop这几天,一些主要的概念必须得先弄清楚,下面是来自wiki.apache的一些很好的解释,整理如下: 本文信息来源:http://wiki.apache.org/hadoop/FrontPage1. NameNode The NameNode is the centerpiece of an HDFS file system. It keeps the directory tree of all files in the file system, and tracks where across the cluster the file data is kept. It ... 阅读全文
posted @ 2012-11-08 19:14 beanmoon 阅读(717) 评论(0) 推荐(0) 编辑
摘要:转载请注明原作者:http://www.cnblogs.com/beanmoon 最近在研究大数据的课题,不可避免要用到hadoop,于是开始看《hadoop: the definite guide 2》,在遇到分析天气数据时,遇到一个实例,然后就动手试试运行命令 % export HADOOP_CLASSPATH=build/classes% hadoop MaxTemperature input/ncdc/sample.txt output HADOOP_CLASSPATH是用来指明经编译过的class文件所在的位置(我是通过eclipse来编译的,不知道书中作者是怎么编译的,直... 阅读全文
posted @ 2012-11-07 20:53 beanmoon 阅读(3544) 评论(0) 推荐(0) 编辑
摘要:今天,Hadoop 是一个分布式计算基础架构这把"大伞"下的相关子项目的集合。这些项目属于Apache 软件基金会(http://hadoop.apache.org),后者为开源软件项目社区提供支持。虽然Hadoop 最出名的是MapReduce 及其分布式文件系统(HDFS,从NDFS 改名而来),但还有其他子项目提供配套服务,其他子项目提供补充性服务。这些子项目的简要描述如下,其技术栈如图1-1 所示。图1-1:Hadoop 的子项目Core一系列分布式文件系统和通用I/O 的组件和接口(序列化、Java RPC 和持久化数据结构)。Avro一种提供高效、跨语言RPC 阅读全文
posted @ 2012-11-05 09:54 beanmoon 阅读(722) 评论(0) 推荐(0) 编辑
摘要:Hadoop 提供了一个稳定的共享存储和分析系统。存储由HDFS 实现,分析由MapReduce 实现。纵然Hadoop 还有其他功能,但这些功能是它的核心所在。相较于其他系统MapReduce 似乎采用的是一种蛮力方法。即,针对每个查询,每一个数据集-- 至少是很大一部分-- 都会被处理。但这正是它的能力。MapReduce 可以处理一批查询,并且它针对整个数据集处理即席查询并在合理时间内获得结果的能力也是具有突破性的。它改变了我们对数据的看法,并且解放了以前存储在磁带和磁盘上的数据。它赋予我们对数据进行创新的机会。那些以前需要很长时间才能获得答案的问题现在已经迎刃而解。1.关系型数据库管理 阅读全文
posted @ 2012-11-05 00:24 beanmoon 阅读(1283) 评论(0) 推荐(0) 编辑
摘要:原文链接:http://www.ifanr.com/141641这是一篇来自留英信息工程博士周文哲(@Wennie文哲)的一篇投稿,她于去年创业成立幸福佩智公司,专注于提供 Hadoop 的大数据处理与分析解决方案,产品已被应用到互联网广告、物联网等行业。“大数据”这一话题在国内从今年起受到投资者追捧,也不断有高技术人才选择这个方向创业;但实际上国外对于“大数据”,已经走过了概念炒作阶段,出现了实际的应用,产生了实际的效益。周文哲这篇投稿,为我们详细揭示了大数据盛行背后的原因,以及大数据在国外发展的情况。“忽如一夜春风来,千树万树梨花开”是唐朝的诗人岑参描写西北边塞早雪奇景的诗句,用来形容大数 阅读全文
posted @ 2012-10-31 14:38 beanmoon 阅读(398) 评论(0) 推荐(0) 编辑