`
步青龙
  • 浏览: 298880 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
72ba33fb-eefe-3de1-bd65-82a6e579265d
Java面试
浏览量:0
社区版块
存档分类
最新评论
阅读更多

市场动力

最近几年中,web 和企业已经见证了数据膨胀。这一现象有很多种原因,例如,便宜的 terabyte 量级的存储硬件的商品化,随着时间的推移已接近临界规模的企业数据,以及允许轻松进行信息供应和交换的标准。

从企业的角度来说,日益增长的信息已经很难存储在标准关系型数据库甚至数据仓库中。这些问题提到了一些在实践中已存在多年的难题。例如:怎样查询一个十亿 行的表?怎样跨越数据中心所有服务器上的所有日志来运行一个查询?更为复杂的问题是,大量需要处理的数据是非结构化或者半结构化的,这就更难查询了。

当数据以这种数量存在时,一个处理局限是要花费很多的时间来移动数据,Apache Hadoop 的出现解决了这些问题,用其独一无二的方法将工作移到数据,而不是相反的移动。Hadoop 是一个集群技术,由两个独立但整合在一起的运行时组成:分布式文件系统(Hadoop Distributed File System,HDFS),提供数据冗余存储;map/reduce,允许并行运行用户提交的作业,处理存储在 HDFS 中的数据。尽管 Hadoop 并不是对每个场景都适合,但是它提供了良好的性能效益。使用 Hadoop 时,社区发现它不仅仅可用于数据处理,也打开了各种有趣的数据分析的大门。

借助 Hadoop,我们可以线性扩展运行在商品硬件上的集群来集成更大更丰富的数据集。这些数据集提供新的透视图,首先,在之前没有整合的异构数据源上运行分析,然后在同样的数据上有规模地运行分析。这个结构有点类似于范式转换(paradigm shift),正如 Flip Kromer(InfoChimps 创办人之一)所描述的:“web 从一个对每件事都了解一点的场所发展成为对一件事了解其全部的场所”。Kromer 继续以这个场景为例,有朝一日,棒球迷想要了解在过去 100 中每场比赛的细节(球员详情、比赛得分、比赛场地)。如果要在同一时段为所有气象站联合数据集与共享位置值,就可以预测一个 38 岁的投手在 90 度的高温的情况下、在 Wrigley Field 赛场的表现如何。

Big Data 生态系统

需要指出的重要一点是:Big Data 空间仍然相对较新,要利用这些机会,仍然有一些技术障碍。正如上面所提到的,数据在 Hadoop 中以 “作业” 形式处理,这些作业是使用一个名为 map/reduce 的范式、通过 Java™ 编程语言编写的。尽管开展了一些工作来促进 Hadoop 允许使用其他语言,但正确地理解如何分析业务问题,并将其分解成可以作为 map/reduce 作业运行的解决方案,仍然不是一个简单的过程。

要真正利用 Hadoop 周围的机会,就需要大量的支持技术来将 Hadoop 移出开发人员的视野,使其接近更广泛的观众。


图 1. Big Data 生态系统概述 
图表显示了应用程序层次结构的图示 

一个生态系统的出现提供了围绕 Hadoop 的工具和支持。每个组件同其他组件一起提供很多方法(如下所示)来实现大多数用户场景。

加载工具

为了使用 Hadoop 来分析您的数据,您必须将数据放在 HDFS 上。为了做到这一点,您需要加载工具。Hadoop 本身也提供将文件从文件系统复制到 HDFS 的功能,反之也可以。对于更复杂的场景,您可以利用像 Sqoop(参见 参考资料)这类工具,这是一个 SQL-to-HDFS 数据库导入工具。另一种形式的加载工具是网络爬虫,例如 Apache Nutch,它抓取特定网站并将网页存储在 HDFS 上,这样,网页内容对于任何您想要使用的分析工具都是可用的。

实时数据是另一个潜在的信息源。您可以使用 Twitter4J 这类技术来连接 Twitter Streaming API 并直接将 tweets 以 JSON 格式持久存储在 HDFS 上。

典型 Big Data 分析用例通常涉及同时查询多个数据集。数据集来自不同的源,通常是企业(内部)已有数据和从 web(外部)获得的数据的混合。一个内部信息的例子可能是数据中心的日志文件,外部信息可能是一些抓取的网站或从数据目录下载的数据集。

数据目录

数据目录实现了用户搜索数据集所必须的功能。除非您已经尝试过,否则您不会意识到寻找大型数据集是多么地困难,特别是适合您正在运行的特定分析场景的数据集。通常,用户被迫抓取 web 或者挖掘社会媒体网站来建立他们自己的大型数据集。如果您很容易就能找到并下载您所感兴趣的现存结构化数据集,将会节省许多时间。InfoChimps 这类公司提供一个目录,在其中您可以根据类型或通过检索找到特定数据集。另一个数据目录的示例是 Amazon Public Data SetsIt。

分析工具

如果您要只使用 Hadoop 来分析 HDFS 上存储的数据,那么通常需要开发人员的技术来使用 Java 语言和 Hadoop map/reduce API 编写作业。对于那些直接使用 API 的人员,您可以使用 Eclipse 中的 KarmaSphere(参见 参考资料)这类工具来利用从特定于 Hadoop 的 IDE 获取的生产力。有一些替代方法支持联合使用其他语言与 Hadoop Streaming 和 Hadoop Pipes,但仍然需要开发人员的技术。这为创建复杂度较低的定义和运行 map/reduce 作业的方法提供了机会。

那些熟悉的 shell 脚本和 UNIX® Pipes 的人可以考虑查看 WuKong(参见 参考资料),它允许您使用 Ruby 和 shell 脚本构建和运行作业。Apache Pig 和 Hive(参见 参考资料)是两个数据分析师感兴趣的技术,因为它们提供一个类似于 SQL 语句的查询界面,在其中用户可以使用高级语言表述如何构建和运行一个给定作业的分析。另一个更针对业务分析师的方法是 IBM® BigSheets(参见 参考资料),它提供一个基于浏览器的类似电子表格的可视呈现,用于定义、运行和可视化分析作业。

所有这些方法都利用扩展,通常称为用户自定义函数或宏,获取用户输入的数据并将一个测量结构注入其中(语义上的或明确的),使得信息能够以一种类似于传统分析方法的方式被处理和查询。分析工具和导出工具就像是连体婴儿,在您进行数据分析时,后者实际上本身就可以做一些对数据分析有帮助的事。

导出工具

当您询问一个 Big Data 问题(您的分析)时,通常会得到一个 Big Data 答案(生成的数据集)。经常会出现这种情况:答案太大,以至于人类无法阅读和理解。如果这样的话,提供可视的结果将是一个解决方案。例如,一个标记能够过滤一大部分结果,使人们立即可以识别出某些区域的数据值。另一个方法是将数据以特定的格式输出,例如 SON、CSV、TSV 或 ATOM,使其可以为一个应用程序所使用。有趣的可视化比较常见,但是它们通常不能插入现有的 Hadoop 相关工具。这是一个新兴空间,关于这方面,在未来的几个月我们将能看到一些创新。

Apache Hadoop

Apache Hadoop 是生态系统的核心。这是所有数据驻留的地方。这个生态系统的惟一约束是 Big Data 喜欢处于静止状态这个事实。这个约束可能会给移动大量数据的计算操作带来严重的延迟,这就是为什么 map/reduce 如此高效的原因,因为它将工作移向数据。由于 Hadoop 可以横向和纵向扩展,因此它也是云中的一个可行选择,人们可以提供 Hadoop 集群、复制数据、运行作业、检索输出,以及在作业完成时解散集群。对于间歇运行的作业,这可以极大地节省购买和维护硬件的成本。

IBM 和 Apache Hadoop

IBM 对 Apache Hadoopis 的前景感到兴奋,并洞察到它可能是极其宝贵的。IBM 已经致力于 Hadoop 研究,有两个技术预览,可以在 Apache Hadoop 之上提供社区感兴趣的附加特性。

Apache Hadoop 的 IBM 发行版

Apache Hadoop 的 IBM 发行版(参见 参考资料)绑定了 IBM Java 技术,并针对 IBM Java 和 IBM 平台进行测试。它包含一个基于 Web 的安装向导,使安装和配置 Hadoop 集群更为容易。这个向导使安装和运行 Hadoop 需要花费的时间大大减少,能够帮助那些在 Hadoop 之上构建解决方案和工具,以及直接使用 Hadoop、map/reduce 和 HDFS API 的开发人员。

BigSheets

对于分析感兴趣的非程序设计人员,InfoSphere BigInsights 是一个新的 IBM 产品组合,其中包含一个称为 BigSheets 的技术预览(参见 参考资料)。BigSheets 提供一个引人注目的可视化界面来聚集、分析和探索数据。BigSheets 是一个功能相当齐全的工具,它在 Apache Hadoop 之上提供了易配置的加载、分析和导出工具。

结束语

我们已经看到了目前的海量数据,以及开源社区是如何使用 Apache Hadoop 项目来处理这些问题的。我们还检查了令人兴奋的使用 Big Data 挖掘新洞察的机遇,以及这个生态系统中在 Apache Hadoop 周围迅速崛起的一些开放源码和专有工具。

想要对 Hadoop 有一个更为详细的了解,不要错过 “使用 Linux 和 Hadoop 的分布式计算”(参见 参考资料)并体验 WordCount 示例(相当于 map/reduce 的 Hello World),在 Apache Hadoop 项目 Wiki 中有详细的描述。

想要循序渐进地了解数据分析,请试用 Apache Pig(参见 参考资料),并逐一浏览项目 wiki 中的教程。

原文:用Big Data 挖掘新的业务洞察

分享到:
评论

相关推荐

    大数据Big Data+华为认证HCIE+培训资料+已解锁无密码

    华为认证的HCIE(Huawei Certified ICT Expert)是华为公司推出的高级信息技术专家认证,其中的Big Data方向专注于大数据处理、分析和应用。这份压缩包包含了备考HCIE Big Data认证所需要的重要资源,包括理论知识、...

    大数据工程师课程方案(HCIA-BigData大数据挖掘分析方向).pdf

    大数据工程师课程方案(HCIA-BigData大数据挖掘分析方向).pdf大数据工程师课程方案(HCIA-BigData大数据挖掘分析方向).pdf大数据工程师课程方案(HCIA-BigData大数据挖掘分析方向).pdf大数据工程师课程方案(HCIA-Big...

    华为HCIE-Big Data-Data Mining V2.0大数据培训教材和实验文档.rar

    HCIE-Big Data认证主要针对大数据分析、挖掘与处理等方面的专业人士,要求考生具备设计、实施、运维和优化大数据解决方案的能力。 二、大数据基础知识 该培训教材将涵盖大数据的基本概念,包括大数据的4V特性...

    HCIA-Big Data V3.0 培训教材.zip

    《HCIA-Big Data V3.0 培训教材》是华为认证体系中的一个重要组成部分,专注于大数据领域的基础知识和实践技能。此教材旨在为学员提供全面的大数据理论知识和技术实操,帮助他们理解和掌握大数据的核心概念、技术...

    华为HCIA-Big Data V3.0大数据培训教材和实验手册.rar

    《华为HCIA-Big Data V3.0大数据培训教材与实验手册详解》 在当今数字化时代,大数据技术已经成为企业竞争力的重要组成部分。华为作为全球领先的ICT解决方案供应商,推出了HCIA-Big Data V3.0认证,旨在培养具备...

    bigdata架构白皮书

    Bigdata的应用场景不仅限于数据仓库,还涉及到了数据科学、图形数据的分析、以及复杂的网络关系挖掘等领域。而这一切的功能实现,都依赖于其核心组件的设计,这些核心组件包括对SPARQL查询语言规范的支持,以及其...

    HCIA-Big Data考试题库.zip

    【HCIA-Big Data考试题库】是针对华为认证ICT Associate(华为认证初级信息通信技术专家)中的大数据方向所设计的复习资料集合。这个压缩包包含了一份名为“HCIA-Big Data考试题库.docx”的文档,很可能包含了模拟...

    大数据(Bigdata)详解完整版

    大数据(Bigdata)是21世纪信息技术领域的一个关键术语,它涵盖了从数据收集、存储、分析到价值提取的全过程。大数据的特点通常被概括为“5V”:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值...

    HCIE-Big_Data-Data_Mining_V2.0培训教材.pdf

    总之,HCIE-Big_Data-Data_Mining_V2.0课程覆盖了数据挖掘的基本概念、流程、工具以及在金融、警务、政府、智慧园区和电商等多个行业的应用实例,旨在培养具备高级数据处理和分析能力的专业人才,以适应数字化时代的...

    bigdata数据挖掘培训3.pptx

    bigdata数据挖掘培训3.pptx

    HCIE-Big_Data-Data_Mining_V2.0实验及培训教材.rar

    《HCIE-Big_Data-Data_Mining_V2.0实验及培训教材》是华为认证互联网专家(HCIE)大数据方向的一项重要学习资源,专为有志于深入掌握大数据挖掘技术的高级技术人才设计。这份资料涵盖了大数据领域的核心知识点,旨在...

    Studies in Big Data 01

    其中,“Data Mining and Knowledge Discovery for Big Data”为本书的主题章节,旨在介绍如何从海量数据中挖掘有用的信息并进行知识发现。 - **方法论、挑战与机遇**:书籍探讨了大数据背景下数据挖掘与知识发现的...

    华为 BIG DATA HCIE培训教材

    主要是一些基础的 数据挖掘原理介绍,作为一个补充还是不错的

    Big Data Analytics with Spark PDF

    《Big Data Analytics with Spark》这本书由Mohammed Guller撰写,旨在为读者提供一个实用指南,帮助大家利用Apache Spark进行大规模数据分析。 ### Apache Spark简介 Apache Spark是一种开源的大规模数据处理框架...

    华为HCIE-Big Data【大数据】培训教材与实验指导手册.zip

    《华为HCIE-Big Data大数据培训教材与实验指导手册》是一部深入探讨华为在大数据领域的专业知识和技术实践的综合资源。此资料包包含了一系列针对HCIE-Big Data认证的学习材料,旨在帮助学习者掌握大数据的核心概念、...

    BIG DATA_Big!_bigdata_

    _bigdata_"似乎包含了从2018年开始关于计算机科学中的大数据相关知识。 在大数据领域,我们首先需要理解“3V”模型:Volume(大量)、Velocity(高速)、Variety(多样)。Volume代表数据的规模,随着互联网、...

    微软Big Data解决方案概览

    微软提供的Big Data解决方案旨在帮助企业充分利用各种数据来源,无论是结构化的还是非结构化的数据,都能从中挖掘出有价值的信息。这一解决方案主要涵盖了以下几个方面: 1. **增强的Hadoop访问能力**:通过简化...

Global site tag (gtag.js) - Google Analytics