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

相关文章
|
7天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
30 2
|
4月前
|
分布式计算 Hadoop
Hadoop系列 mapreduce 原理分析
Hadoop系列 mapreduce 原理分析
38 1
|
7天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
9天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
40 1
|
26天前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
20 1
大数据Hadoop生态圈体系视频课程
|
3月前
|
存储 分布式计算 监控
Hadoop的JobTracker和TaskTracker在MapReduce中的作用是什么?
Hadoop的JobTracker和TaskTracker在MapReduce中的作用是什么?
49 0
|
4月前
|
分布式计算 资源调度 搜索推荐
《PySpark大数据分析实战》-02.了解Hadoop
大家好!今天为大家分享的是《PySpark大数据分析实战》第1章第2节的内容:了解Hadoop。
44 0
《PySpark大数据分析实战》-02.了解Hadoop
|
4月前
|
分布式计算 大数据 Linux
Python大数据之PySpark(三)使用Python语言开发Spark程序代码
Python大数据之PySpark(三)使用Python语言开发Spark程序代码
100 0
|
4月前
|
存储 搜索推荐 算法
【大数据毕设】基于Hadoop的音乐推荐系统的设计和实现(六)
【大数据毕设】基于Hadoop的音乐推荐系统的设计和实现(六)
159 0
|
7月前
|
分布式计算 Hadoop 大数据
Hadoop学习:深入解析MapReduce的大数据魔力之数据压缩(四)
Hadoop学习:深入解析MapReduce的大数据魔力之数据压缩(四)