网站大量收购独家精品文档,联系QQ:2885784924

hadoop开发者第三期-大数据文档资料.docx

hadoop开发者第三期-大数据文档资料.docx

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Hadoop开发者第三期2010年6月20日发布

欢迎投稿

出品

Hadoop技术论坛

总编辑

易剑(一剑)副总编辑

Barry(beyi)代志远(国宝)

本期执行主编代志远(国宝)

编辑

皮冰峰(若冰)易剑(一剑)Barry(beyi)贺湘辉(小米)Barry(beyi)代志远(国宝)柏传杰(飞鸿雪泥)何忠育(spork)秘中凯陈炬

排版/美工/封面设计代志远(国宝)

网址

投稿信箱

hadoopor@

刊首语

新一期的Hadoop开发者与大家见面了。不知不觉

Hadoop开发者已经与大家携手走过半年多了,感谢各位长久以来多Hadoop开发者的支持与鼓励。

Hadoop是大家目前最热衷的技术话题之一,继09年评出国际十大影响力的热门技术榜首的MapReduce编程,基于MapReduce实现的Hadoop开源框架逐渐在被大家所接纳和使用,成为了目前市场中最热门的技术之一。

应运而生的Hadoop开发者致力于提供给大家最好的Hadoop咨询,让大家更方便的学习Hadoop的应用,但是由于人力有限,在每期中所能提供的文章质量难以达到最佳。需要让Hadoop开发者办的更好,就需要大家的努力和共同的提高,集思广益,需要Hadoop爱好者共同的参与。

希望大家多多投稿,多提意见。

Hadoop开发者编辑组本期执行主编:国宝2010-6-20

目录

1Hadoop中的数据库访问 5

2MapReduce中多文件输出的使用 13

3Zookeeper使用与分析 22

4浅析一种分类数据模型 30

5Sector框架分析 34

6RunonHadoop 49

Hadoop中的数据库访问

作者(飞鸿雪泥)E-mail:jaguar13@

Hadoop主要用来对非结构化或半结构化(HBase)数据进行存储和分析,而结构化的数据则一般使用数据库来进行存储和访问。本文的主要内容则是讲述如何将Hadoop与现有的数据库结合起来,在

Hadoop应用程序中访问数据库中的文件。

一.DBInputFormat

DBInputFormat是Hadoop从0.19.0开始支持的一种输入格式,包含在包org.apache.hadoop.mapred.lib.db中,主要用来与现有的数据库系统进行交互,包括MySQL、PostgreSQL、Oracle等几个数据库系统。

DBInputFormat在Hadoop应用程序中通过数据库供应商提供的JDBC接口来与数据库进行交互,并且可以使用标准的SQL来读取数据库中的记录。在使用DBInputFormat之前,必须将要使用的JDBC驱动拷贝到分布式系统各个节点的$HADOOP_HOME/lib/目录下。

在DBInputFormat类中包含以下三个内置类:

1.protectedclassDBRecordReaderimplements

RecordReaderLongWritable,T:用来从一张数据库表中读取一条条元组记录。

2.publicstaticclassNullDBWritableimplementsDBWritable,Writable:主要用来实现DBWritable接口。

3.protectedstaticclassDBInputSplitimplementsInputSplit:主要用来描述输入元组集合的范围,包括start和end两个属性,start用来表示第一条记录的索引号,end表示最后一条记录的索引号。

其中DBWritable接口与Writable接口比较类似,也包含write和readFields两个函数,只是函数的参数有所不同。DBWritable中的两个函数分别为:

publicvoidwrite(PreparedStatementstatement)throws

SQLException;

publicvoidreadFields(ResultSetresultSet)throwsSQLException;

这两个函数分别用来给java.sql.PreparedStatement设置参数,以及从java.sql.ResultSet中读取一条记录,熟悉JavaJDBC用法的应该对这两个类的用法比较了解。

二.使用DBInputFormat读取数据库表

您可能关注的文档

文档评论(0)

分享吧 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档