《R与Hadoop大数据分析实战》一2.5 在R环境中编写Hadoop MapReduce程序的方式

简介:

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

2.5 在R环境中编写Hadoop MapReduce程序的方式

我们知道对将R工具用于分析的统计学家、网络分析师以及产品经理来说,用MapReduce进行Hadoop大数据处理是一件非常重要的事,因为补充MapReduce的编程知识对于用Hadoop将分析整合到MapReduce来说是必要的。并且,我们知道R是一个一直以来普及程度逐步提升的工具;为了整合R,有许多程序包和函数库一直在改进。因此为了研发基于R和Hadoop计算能力运行的MapReduce算法程序,我们需要R和Hadoop的中间软件。RHadoop、RHIPE以及Hadoop streaming是帮助在R中开发和执行HadoopMapReduce的中间接口软件。在最后一部分,我们将会讨论RHadoop、RHIPE并且介绍Hadoop streaming,并且直到最后一章节为止,我们将用这些程序包开发MapReduce。

2.5.1 RHadoop

Rhadoop是一个的很棒的R开源软件框架,用于通过R函数用Hadoop平台执行数据分析。Revolution Analytics研发了Rhadoop,它是基于开源R项目用于统计计算的软件和服务的主要商业供应商。RHadoop项目有3个R程序包:rhdfs、rmr以及rhbase。所有的这些程序包的应用和测试是在Cloudera Hadoop分配的CDH3、CDH4以及R 2.15.0上执行的。并且,这些是用Revolution Analytics分配的R4.3版本、5.0版本以及6.0版本测试的。
这3个不同的R程序包是在Hadoop的两个主要功能HDFS以及MapReduce上设计而成的:
rhdfs:这是一个用于向R提供所有Hadoop HDFS接口的R程序包。所有分配的文件可以用R函数进行管理。
rmr:这是一个用于向R提供所有Hadoop MapReduce开发接口的R程序包。在这个程序包的帮助下,研发Map执行单元和Reduce执行单元变得很容易。
rhbase:这是一个通过R用于在HBase分布式数据库里处理数据的R程序包。

2.5.2 RHIPE

R和Hadoop综合程序设计环境(RHIPE)是一项免费、开源的项目。RHIPE广泛用于大数据的分析和D&R分析。D&R分析用于将大型数据分类,同时在分布式的网络中并行处理数据,产生中间结果,最后将中间所有的输出数据组成一组。RHIPE在Hadoop平台上进行D&R复杂的大数据分析。RHIPE是由SaptarshiJoy Guha(Mozilla公司的数据分析员)和她的团队根据她在普渡大学统计学的博士论文开发出来的。

2.5.3 Hadoop streaming

Hadoop streaming能实现Hadoop分配。你可以像Map执行单元或是Reduce执行单元一样根据任何可执行的脚本来开发和运行一个MapReduce作业。R、Python、Ruby、Bash、Perl等软件均支持这项工作。我们使用R语言执行bash脚本。
同时,一种叫HadoopStreaming的R程序包被研发出来,用于在R脚本的帮助下,在Hadoop集群上进行数据分析,这是R和Hadoop streaming进行数据传输的接口。另外,MapReduce任务可以在没有Hadoop的情况下运行。David Rosenberg开发了这个程序包,他是SenseNetworks的首席科学家。他在机器学习和数据建模方面是专家。

相关文章
|
6天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
33 4
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
115 2
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
84 1
|
2月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
81 1
|
2月前
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
164 0
|
2月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
1月前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
348 7
|
1月前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
53 2
|
1月前
|
数据采集 监控 数据管理
数据治理之道:大数据平台的搭建与数据质量管理
【10月更文挑战第26天】随着信息技术的发展,数据成为企业核心资源。本文探讨大数据平台的搭建与数据质量管理,包括选择合适架构、数据处理与分析能力、数据质量标准与监控机制、数据清洗与校验及元数据管理,为企业数据治理提供参考。
90 1
|
29天前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
69 4