《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的首席科学家。他在机器学习和数据建模方面是专家。

相关文章
|
消息中间件 分布式计算 大数据
大数据-113 Flink DataStreamAPI 程序输入源 自定义输入源 非并行源与并行源
大数据-113 Flink DataStreamAPI 程序输入源 自定义输入源 非并行源与并行源
166 0
|
4月前
|
数据采集 搜索推荐 Java
Java 大视界 -- Java 大数据在智能教育虚拟学习环境构建与用户体验优化中的应用(221)
本文探讨 Java 大数据在智能教育虚拟学习环境中的应用,涵盖多源数据采集、个性化推荐、实时互动优化等核心技术,结合实际案例分析其在提升学习体验与教学质量中的成效,并展望未来发展方向与技术挑战。
|
4月前
|
传感器 分布式计算 大数据
“用大数据盯着天看地”——聊聊环境监测的精准化升级
“用大数据盯着天看地”——聊聊环境监测的精准化升级
126 0
|
5月前
|
传感器 机器学习/深度学习 算法
Java 大视界 -- Java 大数据在智能农业温室环境调控与作物生长模型构建中的应用(189)
本文探讨了Java大数据在智能农业温室环境调控与作物生长模型构建中的关键应用。通过高效采集、传输与处理温室环境数据,结合机器学习算法,实现温度、湿度、光照等参数的智能调控,提升作物产量与品质。同时,融合多源数据构建精准作物生长模型,助力农业智能化、精细化发展,推动农业现代化进程。
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
295 2
|
SQL 机器学习/深度学习 分布式计算
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
748 1
|
分布式计算 监控 大数据
大数据-114 Flink DataStreamAPI 程序输入源 自定义输入源 Rich并行源 RichParallelSourceFunction
大数据-114 Flink DataStreamAPI 程序输入源 自定义输入源 Rich并行源 RichParallelSourceFunction
224 0
|
存储 大数据 数据处理
大数据环境下的性能优化策略
大数据环境下的性能优化策略
458 2
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
461 1
|
存储 数据可视化 数据挖掘
大数据环境下的房地产数据分析与预测研究的设计与实现
本文介绍了一个基于Python大数据环境下的昆明房地产市场分析与预测系统,通过数据采集、清洗、分析、机器学习建模和数据可视化技术,为房地产行业提供决策支持和市场洞察,探讨了模型的可行性、功能需求、数据库设计及实现过程,并展望了未来研究方向。
753 4
大数据环境下的房地产数据分析与预测研究的设计与实现