文章: Hadoop和元数据(解决阻抗失配问题)

标签: 文章 hadoop 元数据 | 发表时间:2013-02-22 20:58 | 作者:
出处:http://pipes.yahoo.com/pipes/pipe.info?_id=10560380f804c7341f042a2b8a03e117

在组织如何处理数据方面,Apache Hadoop展开了一场史无前例的革命——通过自由可扩展的Hadoop,可以在比以往更短的时间内,通过新应用创造新价值,并从大数据中提取想要的数据。这次革命企图使企业建立以Hadoop为中心的数据处理模式,但是同时也提出一个挑战:我们如何在Hadoop的自由下进行协作呢?我们如何对任意格式的数据进行存储和处理,并按照用户的希望来共享这些数据呢?此外,我们还需考虑,如何将不同工具以及其他系统集成在一起,组成 数据中心即计算机

作为Hadoop的用户,对元数据目录的需求是明确的。用户不希望再去“发明轮子”。他们希望与同事合作,分享结果和过程中的数据集合。结合用户的需求,很容易确定通用的Hadoop上层元数据机制:通过将数据资产注册到元数据记录中,不仅能更清楚的了解数据资产,更能提升发现和共享的效率。记住,尽量少让用户工作。

用户还希望不同的工具集和系统能在一起使用——如Hadoop和非Hadoop系统。作为Hadoop用户,对目前Hadoop群集上不同工具的互操作性有明确的需求:Hive,Pig,Cascading,Java MapReduce,使用了Hadoop Streaming的Python,C/C++,Perl以及Ruby,数据格式则包括CSV,TSV,Thrift,Protobuf,Avro,SequenceFile以及作为Hive专用格式的RCFile。

最后一点,原始数据通常不是来自于HDFS(Hadoop分布式文件系统)。这就需要将不同类型系统的资源注册一个中心节点上,以满足HDFS的ETL及Hadoop分析结果对其他系统发布的需求。

Curt,你说得对……HCatalog真的很重要

Curt Monash最近发表了一篇文章,题名为“ HCatalog——它很重要”从多个方面切中要害,推荐大家阅读。在这篇文章中,Curt认为HCatalog作为Hadoop集群的元数据服务,其价值可以媲美数据库管理系统(DBMS)。虽然这一点目前还在研究中,但仍有必要说明,HCatalog相当于Hadoop连接企业应用生态系统的接口,十分重要。

这篇文章中还包含Curt对HCatalog定义、历史和用途深入研究的内容。

HCatalog的定义

Hadoop最吸引人的特性之一就是在不使用Schema的情况下,可以灵活的处理半结构化数据和非结构化数据。大多数组织中,非结构化数据占全体数据的80%,而增长速度也是结构化数据的10-50倍。Hadoop确实擅长从非结构化数据中提取结构化数据。HCatalog帮助Hadoop通过访问挖掘后的结构化数据传递价值,提供给需要这些数据的分析人员、系统和应用。

HCatalog是Hadoop的元数据和数据表的管理系统。它基于Hive中的元数据层,通过类似SQL的语言展现Hadoop数据的关联关系。HCatalog允许用户通过Hive,Pig,MapReduce共享数据和元数据。它的另一特点就是在用户编写应用程序时,无需关心数据怎么存储,在哪里存储,还避免用户因schema和存储格式的改变而受到影响。

这种灵活性最终减少了对数据产生者、使用者、管理者的影响,为他们提供了清晰的合作基础。在不影响到使用者的应用程序读取数据的情况下,数据产生者可以在数据中增加新列。在不影响生产者或使用者的情况下,管理员可以迁移数据或是改变数据的存储格式。通过HCatalog,新数据集更容易找到并通知他们的使用者。

通过HCatalog,用户能够通过工具访问Hadoop上的Hive metastore。它为MapReduce和Pig提供了连接器,用户可以使用工具对Hive的关联列格式的数据进行读写。对于不在Hive上通过Hive DDL语句操作metasotre的用户,HCatalog提供了命令行工具。它还提供了通知服务,如果使用Oozie这样的工作流工具,在有新数据可用的时候,就可以得到通知。

Hadoop的REST接口

Templeton是小说《夏洛特的网》中的一个角色。它是一个贪吃的老鼠,会为主角(小猪威尔伯)提供帮助,但是帮助的目的仅仅是为了食物。在Hadoop中,Templeton通在元数据上层提供REST接口,来帮助HCatalog。它为Hadoop提供了REST API接口,允许外部资源不通过Hadoop自带API与Hadoop交互。这只贪吃的老鼠为我们所有人提供了一个简单易懂而且常见的接口,打开了一扇通往Hadoop的大门。通过这种方式,它为所有应用开发人员开放了Hadoop。

Templeton更像Hive之上的一个JDBC连接器。REST接口通过HTTP协议,为已有应用及新应用提供了一个动态共享的元数据层。它为HTTP客户端开放了映射在HCatalog和Hive中的资源。

HCatalog的实际应用

这里列出HCatalog的3个基本用途。

1. 实现工具之间的通讯

重度Hadoop用户绝不会使用单独的工具进行数据处理。一般情况下,用户和团队开始可能只使用一种工具:如Hive,Pig,Map Reduce,或者其他什么。随着他们对Hadoop使用的深入,他们会发现所使用的工具对于他们的新任务来说,不是最优的。开始使用Hive进行分析查询的用户,更愿意使用Pig为ETL过程处理或建立数据模型。开始使用Pig的用户发现,他们更想使用Hive进行分析型查询。尽管Pig和Map Reduce这样的工具不需要元数据,但元数据的出现依然为它们带来不少益处。通过元数据存储的共享,能使用户更方便的在不同工具间共享数据。比如在Map Reduce或Pig中载入数据并进行规范化,然后通过Hive进行分析,这样的工作流已经很普遍了。当所有这些工具都共享一个metastore时,各个工具的用户就能够即时访问其他工具创建的数据,而无需载入和传输的步骤。

2. 数据发现

当用于数据分析的时候,用户可以使用Hadoop从原始数据中提取结构化信息。他们通常使用Pig,Hadoop的Streaming和Map Reduce来分析数据,寻找新的关注点。一般而言,只有在大型分析环境中,信息的价值才能得以体现。通过HCatalog将分析结果发布出来,你的分析平台就可以通过REST服务来访问这些内容。在这种情况下,schema决定了发现。这些发现对于数据科学家来说也很有用。通常,他们以别人创建的数据或分析结果作为下一个发现的输入。在HCatalog中注册数据实际上是宣布有新数据可用。

3. 系统集成

作为一个处理和存储数据环境来说,Hadoop为企业应用提供了太多的机会。但为了充分使用它,必须要增强现有工具并配合使用。Hadoop应当作为你的分析平台的输入,或者与你的业务数据存储和Web应用集成。组织应该享受Hadoop带来的价值,无需学习工具使用等新的内容。有了Templeton提供的REST服务,就可以通过常见的API和类SQL语言将平台开放给企业。通过这种方式,它开放了整个平台。

作为企业应用Hadoop的准备,HCatalog代表着下一个合理的延伸。是的,Curt,它确实重要……很重要!

关于作者

Alan Gates 是Hortonworks的共同创始人,曾是Yahoo实验室的成员之一,其所在的团队将Pig从实验室独立出来做成一个成功的Apache开源项目。Gates同时参与HCatalog的设计,并指导其成为Apache孵化项目。Gates在俄勒冈州立大学获得其数学学士学位,在福乐神学院获得神学硕士学位。他还是O’Reilly出版的《Programming Pig》一书的作者。在Twitter上跟随Gates:@alanfgates。

 

 

RusselJurney,现在正在专注于赌场游戏数据,他通过创建Web应用来对美国和墨西哥的老虎机进行性能分析。Russel是《敏捷数据》的作者(O’Reilly将于2013年3月出版)。在涉足创业,互动媒体和新闻工作后,他前往硅谷,为Ning和LinkedIn建立大规模分析应用。他现在在Hortonworks中进行Hadoop的布道工作。他和他的妻子Kate以及两只毛茸茸的小狗居住在加利福尼亚州太平洋沿岸的一个悬崖上。

 

 

查看英文原文Hadoop and Metadata (Removing the Impedance Mis-match)

您可能也会喜欢

相关 [文章 hadoop 元数据] 推荐:

文章: Hadoop和元数据(解决阻抗失配问题)

- - InfoQ cn
在组织如何处理数据方面,Apache Hadoop展开了一场史无前例的革命——通过自由可扩展的Hadoop,可以在比以往更短的时间内,通过新应用创造新价值,并从大数据中提取想要的数据. 这次革命企图使企业建立以Hadoop为中心的数据处理模式,但是同时也提出一个挑战:我们如何在Hadoop的自由下进行协作呢.

文章: Hadoop虚拟研讨会

- - InfoQ cn
现今,大数据和Hadoop在计算机工业里正如暴风骤雨般开展着. 从CEO、CIO到开发人员,每个人对其用法都有自己的看法. 12306插件引发GitHub故障,GitHub资深运维工程师确认参加QCon北京2013,现身说法. Erlang的互联网公司实践分享——淘宝褚霸确认参加QCon北京并分享Erlang在淘宝的应用经验.

关于hadoop的入门和进阶文章收录

- - ITeye博客
2 网上比较权威和受欢迎的大部分是来自 IBM DW 的文章,尤其是那两个经典系列的文章,此外还有一些案例型和实践型的文章与指南,这里集中收录如下:. 两篇云计算理论与概念的入门文章/教程:. 概念、优势、挑战和向云计算过渡需要考虑的事情. 发布日期: 2012 年 2 月 13 日 (最初发布 2011 年 3 月 18 日) .

文章: Hadoop in 360——专访360系统部总监唐会军

- - InfoQ cn
在前不久的Hadoop in China 2011大会上,360系统部总监 唐会军接受了InfoQ的专访,谈到360公司内部对Hadoop的使用,并对Hadoop项目和HBase面临的挑战提出了自己的看法. QClub(西安站)——前端崛起(2月25日 免费报名中. Inedo合作伙伴Alex Papadimoulis谈代码之丑之美.

文章: Hadoop MapReduce开发最佳实践(上篇)

- - InfoQ cn
本文是Hadoop最佳实践系列第二篇,上一篇为《 Hadoop管理员的十个最佳实践》. 百度技术沙龙第三十四期:机器学习之多媒体方向的思考(2013年1月12日 周六). 百度技术沙龙特约观察员火热招募中,2013,因为有你更精彩. GitHub运维专家Jesse Newland QCon分享Github ChatOps机器人与GitHub架构演进.

文章: Hadoop管理员的十个最佳实践

- - InfoQ cn
接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇到的这些问题有些是Hadoop自身的缺陷(短板),有些则是使用的不当. 白皮书下载:利用您的私有或混合云加速业务成果.

文章: SQL Server大负载的生产环境下的性能优化:初识元数据优化

- - InfoQ cn
相信朋友对SQL Server性能调优相关的知识或多或少都有一些了解. 虽然说现在NOSQL相关的技术非常的火热,但是RMDB(关系型数据库)与NOSQL是并存的,并且适用在各种的项目中. 在一般的企业级开发中,主要还是RMDB占据主导地位. 并且在互联网项目中,也不是摒弃了RMDB,例如MySQL就在很多的互联网应用中发挥着作用.

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Hadoop使用(一)

- Pei - 博客园-首页原创精华区
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成. 其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上.

Hadoop MapReduce技巧

- - 简单文本
我在使用Hadoop编写MapReduce程序时,遇到了一些问题,通过在Google上查询资料,并结合自己对Hadoop的理解,逐一解决了这些问题. Hadoop对MapReduce中Key与Value的类型是有要求的,简单说来,这些类型必须支持Hadoop的序列化. 为了提高序列化的性能,Hadoop还为Java中常见的基本类型提供了相应地支持序列化的类型,如IntWritable,LongWritable,并为String类型提供了Text类型.