《R与Hadoop大数据分析实战》一1.7 Hadoop的子项目

简介:

本节书摘来自华章出版社《R与Hadoop大数据分析实战》一书中的第1章,第1.7节,作者 (印)Vignesh Prajapati,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.7 Hadoop的子项目

Mahout是一个很强大的数据挖掘库,其中包含大部分与数据挖掘有关的机器学习算法,可实现聚类、分类、回归分析及统计建模等,可用于智能应用,它也是一个不错的机器学习库。
Apache Mahout是一个商用软件,需要Apache软件分发的许可证。Apache Mahout的目标是建立一个充满活力、反应灵敏、多样化的社区,以方便对项目本身以及潜在使用案例的讨论。
使用Mahout的一些公司如下:
Amazon:这是一个提供个性化推荐的购物网站。
AOL:这是一个有购物建议的购物导航网站。
Drupal:这是提供开放资源的基于内容建议的一个使用Mahout的PHP内容管理系统。
iOffer:这是一个购物网站,它使用Mahout的频繁模式集挖掘(Frequent Pattern Set Mining)和协同过滤(collaborative filtering)来为用户推荐商品。
LucidWorks Big Data:一个著名的数据分析公司,使用Mahout来实现聚类、文件复制跟踪、段落提取及分类等。
Radoop:提供了一个拖曳式的数据分析界面,包括Mahout的聚类及分类算法。
Twitter:这是一个社交网站,它使用Mahout的Latent Dirichlet Allocation(LDA) 实现用户兴趣建模,并且在GitHub保持Mahout的一个分支。
Yahoo!:这是世界上最流行的网络服务供应商之一,Yahoo! Mail使用 Mahout的频繁模式集挖掘。
Hadoop的生态系统的参考链接为http://www.revelytix.com/?q=content/hadoop-ecosystem。
Apache HBase是Hadoop的一个分布式大数据存储系统。它允许随机、实时读写访问大数据。它创新性地被设计为面向列的数据存储模型,其灵感来自Google BigTable。
使用HBase的公司如下:
Yahoo!:这是世界上流行的为相邻文件复本检测提供服务的网站。
Twitter:这是进行版本控制存储和检索的一个社交网站。
Mahalo:这是一项类似内容推荐的知识共享的服务。
NING:这是进行实时分析和报告的社交网络服务一个提供商。
StumbleUpon:这是一个普遍的个性化推荐系统、实时数据存储和数据分析平台。
Veoh:这是为用户分析系统提供在线多媒体内容共享的一个平台。
对于Google Big Data的分布式存储系统的结构化数据,请参考链接http://research.google.com.archive/bigtable.html。
Hive是一个基于Hadoop的数据仓库,类似于Facebook开发的框架。它允许用户查询类SQL语言,例如高度抽象到Hadoop MapReduce中的HiveQL。这使得没有MapReduce经验的SQL程序员可以使用数据仓库,并且使它更容易集成商业智能和可视化工具用于实时查询处理。
Pig是一个使用类SQL语言,称为Pig Latin。该语言基于Hadoop开源平台分析大规模数据集。它提供了一个简单的操作和编程接口,用于大规模的、复杂的数据并行计算。具有易于开发、高易用性及可扩充性特点。Apache Pig是由Yahoo!开发的,Yahoo!和Twitter是Pig的主要用户。
对开发人员来说,直接使用的Java API可能是很乏味或容易出错,而且限制了Java程序员在使用Hadoop编程时的灵活性。因此,Hadoop提供了两个解决方案,Pig和Hive,它们使用了MapReduce对数据集进行管理和分析,使Hadoop编程更加容易。
Apache Sqoop提供了Hadoop数据处理平台、关系型数据库、数据仓库。同时提供了一种非关系型数据库快速转换大量数据的新方法。Apache Sqoop是一个交互式的工具,可用于将数据从关系型数据库导入Hadoop HDFS中,并将HDFS的数据导出到关系型数据库中。
它可与目前最流行的关系型数据库一起工作,例如MySQL、PostgreSQL、Oracle、Microsoft SQL Server和IBM DB2,以及企业级数据仓库。Sqoop的扩展API提供了数据库系统的连接方法。并且,这个Sqoop资源也与一些很流行的数据库连接方法并驾齐驱。为了进行这个操作,Sqoop首先用一些数据库视图创建和转化的逻辑向Hadoop MapReduce传输数据。
Apache Zookeeper也是Hadoop的子项目,它用于管理Hadoop、Hive、Pig、HBase、Solr以及一些其他工程。Zookeeper是一个开源的分布式应用协调服务,它是利用基于同步和配置的快速Paxos算法以及一些例如分布式应用维护的命名服务设计出来的。在程序设计中,Zookeeper设计是一个非常简单的数据模型结构,很像系统文件目录的树状结构。
Zookeeper被分为两个部分:服务端和客户端。对于一个使用Zookeeper服务的集群,只能一台服务器扮演主服务器,用来接受和协调所有请求。其他的服务器都是主服务器的只读副本。如果主服务器崩溃,任何一台其他服务器可以开始为响应请求提供服务。Zookeeper客户端依据Zookeeper服务连接到服务器上。客户端发送请求,接受回应,读取监视事件并通过TCP协议连接到服务器发送一个心跳。
对于分布式应用的高性能协调服务,Zookeeper是一个集中服务,用于提供维护配置信息、命名、分布式同步和组服务。所有这些类型的服务通过某种形式被分布式应用使用。每次部署这些应用,就会有很多修复漏洞的工作和不能改变的竞争环境。这些服务在应用部署后会导致管理工作复杂。
Apache Solr是一个基于Apache认证项目的开源企业级搜索平台。Apache Solr具有高度的可扩展性,支持分布式查询及索引响应引擎。因此,可以创建网页版的应用,可实现强大的文本查找、分片查找、即时索引、动态集群、数据库集成及富文档处理等。
Apache Soar是用Java编写的,它作为一台独立的服务器,通过类似于REST HTTP/XML和JSON的过程来提供查询结果。因此,Solr 服务器很容易与用其他的编程语言编写的应用集成。基于这些特性,Netflix、AOL、CNET和Zappos都在使用Apache Soar查询服务器。
Ambari是针对Hortonworks的工具。Apache Ambari是一个基于网络的工具,用于支持Apache Hadoop集群的支持、管理和监视。Ambari支持操作绝大多数Hadoop组件,如同集中管理一样包括HDFS、MapReduce、Hive、Pig、HBase、Zookeeper、Sqoop和HCatlog。
除此以外,Ambari能够在基于Kerberos远程认证协议的Hadoop集群上安装安全服务。同时,它还为管理集成式LDAP和活动目录提供基于角色的用户识别、授权和审计的功能。

相关文章
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1358 6
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
673 2
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
934 79
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
1159 4
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
859 2
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
809 1
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
483 5
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
301 3
|
分布式计算 Java Hadoop
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(一)
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(一)
412 2