如何用R语言进行云计算

简介:

如今,几乎所有领域或业务活动正在通过SMAC进行数据转换。SMAC指的是社交(Socia)、移动(Mobile)、分析(Analytics)和云服务(Cloud)。这个改变的影响已经涉及到包括组织、人员与产品在内的范围。在本文中,我们将通过使用云计算让你提高数据分析能力。


我们已经使用R语言和RStudio由浅入深地解释了云计算的相关概念(请参考大数据文章2015年9月21日发布的文章《如何在云计算平台使用R语言编程的快速入门指南》)。此外,相较于传统的桌面、本地客户机/服务器构架而言,你还将领略到在云端用R语言编程的优势。



云——数据科学的实现平台


云计算在近几年得到了空前的成长和普及。它使组织能快速和便捷地扩展。通过云服务,企业现如今搜集、存储和分析的数据量远远超出以往的想象。无论如何,有了亚马逊、谷歌和微软提供的服务,现在任何一个分析师都能使用云服务了。


以前,当你购买了特定性能服务器后,随着需求的增加,便需要购买另一台更高性能服务器的来满足需求。比如,我平时做的分析大多都是几个GB的数据,在我的笔记本上直接运行就足够了。然而,近期微软在Kaggle上发布了关于恶意软件和病毒的400GB数据。如果我考虑继续用我的笔记本解决这个问题,仅是下载数据集合便能耗费完我的存储空间,而进行数据分析将是另外一个单独的挑战了。


甚至如果我下载了数据集,在没有云平台的情况下,想要进行有价值的计算的唯一途径就是添置一台新机器——而这并不是一个实用的解决方案。这就体现了云计算带来的好处。


为什么需要“云”?


如以上案例中讨论的那样,对于大数据的存储,云比本地桌面、笔记本和服务器都要划算。什么,大数据?是的!大数据是一个总称,主要指比传统的数据源数量大、种类多和处理速度快的数据,需要Hadoop这样的分布式计算软件和非关系型数据库——NoSQL数据库。


美国国家标准及技术研究所(NIST)对云计算的定义:


“云计算是一种无处不在的、便捷的、按需配置网络访问的资源共享池的处理资源(例如,网络、服务器、存储、应用和服务),可以快速分配或以最少的管理工作量进行发布或与服务供应商进行直接互动的模型。这种云模型是由五个基本特征,三个服务模型和四个调度模型组成的。


云计算包含3个组成部分:

基础设施服务(laas)

平台服务(Paas)

软件服务(SaaS)


IaaS—为了配置应用程序,用户需在云基础设施上安装操作系统镜像和相关应用软件。在这个模型中,用户自行修补程序并维护操作系统和应用软件。


PaaS—云服务提供商提供的一个计算平台,包括操作系统、编程语言、执行环境、数据库和Web服务器。应用程序开发人员可以开发和运行他们的软件解决方案,在云平台上不存在购买软、硬件层的成本以及其相关管理的复杂性。


SaaS—软件服务(SaaS),用户获取应用软件和数据库。云供应商管理运行这些应用软件的基础设施和平台。SaaS是有时被称为“按需软件”。


0?wx_fmt=png


使用R与其它应用软件进行云计算的成本效益权衡


PythonR一样,都是开源的。但是R更胜一筹的主要原因是R程序包中有更全面的统计库。统计分析系统(SAS)是企业分析的主导桌面语言,但因为每年都需许可认证授权,而不是一次性付费激活,所以其较高的成本和资本支出承诺让许多小型企业望而却步。


在云端使用R与在桌面使用R的优势比较


我们知道R只能处理RAM内存大小的数据,云计算为我们提供了一个使用R处理大数据科学的快速解决方案。简单地在虚拟机上增加内存便可将其实现。你可以在云上看到各种各样的内存选项,而这在本地机器上是无法负担的。


对于大数据集,在云端使用它比起下载数据,处理数据再评价数据是更好的选择。例如,如果你有一个30GB的关于竞赛的数据集,你最好使用云计算。云计算是不受网速困扰的处理大数据的一个好方法。


云端有更快的带宽速度,所以,安装软件和传递数据在云端进行要快很多。


你可以使用R的附加服务AzureML取代动手建立自己的机器学习服务,这样就通过个别指导以获取更多信息。


云在数据的容量和速率上更具扩展性。


使用R语言在云端编程指南


你能够在亚马逊云、微软云或是谷歌云建立一个实例(一个你可以远程接入的虚拟机)。只需如同你在本地桌面一样安置R。你可以通过SSHRemote Desktop连接到你的远程机器。


以下是在亚马逊网络服务上建立云实例的操作步骤:


0?wx_fmt=jpeg
注:亚马逊可以免费让你试用亚马逊云服务一年。


首先你需要注册成为亚马逊用户,一旦注册完成后,根据以下步骤在亚马逊网络服务中创建云实例。


登陆亚马逊网络服务操作系统

点击运行实例

选择虚拟机操作系统,你将会远程接入。这里我已经选择Amazon Linux操作系统。

选择实例类型(内存大小和需要的记忆空间),在这里比较价格。


0?wx_fmt=jpeg


创建一个安全密钥。这是为了以防黑客远程登录机器。你可以使用Windows操作系统的桌面作为远程桌面,但是你需要在Linux实例中使用SSH


0?wx_fmt=jpeg


点击发布实例

根据给出的指示,使用密钥连接实例。


0?wx_fmt=jpeg


现在像在本地运行一样来进行远程操作。


0?wx_fmt=jpeg


这是我正在安装R

一旦操作完毕,记住关闭实例,以免支付高额的月账单。


你可以根据需求选择实例,或使用预订的实例(在固定的时间段预订虚拟机可以得到相应的折扣)。


如何在云端使用R操作RStudio


RStudio服务器版本只在Linux系统运行。因此,我们需要在云端选择Linux实例。然后,访问RStudio服务器。我们可以连接通过浏览器远程操作RStudio


以下是在云端运行RStudio的步骤:

注释:我们之前已经通过sudo yum安装R


在虚拟机上下载RStudio服务器,然后进行安装。

你需要确认安装完毕。

打开在AWS控制台安全组的8787端口(左边选择栏的Security Groups),通过生成一个顾客的TCP协定(点击表单下面的编辑)


0?wx_fmt=jpeg

你使用SSH终端,在你的虚拟机的云实例上创建了一个拥有新密码新用户。


在表单左边留白处找到云实例公共的IP地址。


0?wx_fmt=jpeg


IP地址设为8787,打开浏览器,然后使用上面创建的用户名和密码登录系统。


0?wx_fmt=jpeg


现在,通过浏览器使用R在进行云计算。


0?wx_fmt=jpeg


结语


到现在为止,你已经对如何使用RRStudio来实施云计算有了一个大概的了解。我真的很高兴能在这篇文章中策划和编写有用资源。这篇文章还涵盖了在学习云计算时经常被问到的一些问题,所以,我试着用这篇文章来涵盖所有的方面。根据我的个人经验,在R中阐述云计算,相比在其它软件中要容易得多



原文发布时间为:2015-11-24

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
机器学习/深度学习 存储 人工智能
一文读懂云计算、大数据和AI间的关系和区别
相信大家都听说过云计算、大数据和人工智能,并且它们之间好像互相有关系:一般谈云计算的时候会提到大数据、大数据的时候会提人工智能、谈人工智能的时候会提云计算……三者之间相辅相成又不可分割,那么这三者之间到底是怎么一回事呢,今天小编就来讲讲。
1658 0
一文读懂云计算、大数据和AI间的关系和区别
|
4月前
|
分布式计算 NoSQL Java
大数据学习资料和书籍推荐
大数据学习资料和书籍推荐
68 0
|
11月前
|
数据可视化 数据挖掘 Python
生命科学相关专业入门R语言的参考资料推荐
生命科学相关专业入门R语言的参考资料推荐
|
存储 人工智能 前端开发
我们应该如何用好 AI?从 ChatGPT 到编程语言、大数据、前端
如此强大的 AI 能力,会给工作带来什么变化?作为工程师,工作机会是否会面临来自 AI 的威胁或者替代,我们应该如何在工作中更好地使用 AI?以下是我的观察和理解,本文不是硬核的 AI 技术解读,更多是从产品和应用角度阐述,我会先分享4个我认为内容较好的外部输入,然后是个人观点探讨。
1593 2
|
存储 传感器 SQL
大数据初学者入门指南,及需要知道的51个大数据术语
  数据对企业和组织非常重要-比我们意识到的还要重要。它可以影响公司的行动计划,并可以用来预测增长和成功。   什么是大数据?   大数据是从各种来源收集和分析信息。它有两种类型:结构化和非结构化。结构化数据包括SQL数据库,而非结构化数据包括文档文件和来自传感器的原始流数据。   业界从三个主要方面描述大数据:   数量:企业可以有多个数据来源。当今的技术使企业能够存储比以往更多的数据。速度:实际上,数据以惊人的速度-实时或尽可能接近实时。速度还描述了如何快速处理和分析数据。种类:除了进入系统的数据量和速度外,它还具有不同的格式。从商业销售记录到数据库信息,全都是大数据。   公司
249 0
|
机器学习/深度学习 SQL 存储
大数据小白如何入门?大数据领域75个核心术语讲解全盘奉上
  本文约8420字,建议阅读17分钟。本文介绍Ramesh Dontha 在 DataConomy 上连发两篇文章,扼要而全面地介绍了关于大数据的 75 个核心术语。   近日,Ramesh Dontha 在 DataConomy 上连发两篇文章,扼要而全面地介绍了关于大数据的 75 个核心术语,这不仅是大数据初学者很好的入门资料,对于高阶从业人员也可以起到查漏补缺的作用。本文分为上篇(25 个术语)和下篇(50 个术语)。   如果你刚接触大数据,你可能会觉得这个领域很难以理解,无从下手。不过,你可以从下面这份包含了 25 个大数据术语的清单入手,那么我们开始吧。   算法(Algo
320 0
|
SQL 算法 Java
你在使用大数据技术的时候,你知道大数据语言的工具与框架吗?
为了解大数据的当前和未来状态,我们采访了来自28个组织的31位IT技术主管。我们问他们,“你在数据提取,分析和报告中使用的最流行的语言,工具和框架是什么?” 以下的文章是他们告诉我们的记录,经过总结如下。
2000 0
|
存储 机器学习/深度学习 Java
入门科普:Python、R、大数据、云计算最全学习资源都在这里
本文写给有抱负的新兴数据科学家、知道各种专业知识的程序员,还有那些不懂任何编程技巧的初学者。本文提供了简单的教程和可实践的分析,而不是理论。我还试图将Python与R结合起来,为学习者提供对比的方法。
|
存储 机器学习/深度学习 人工智能
云计算“恋上”机器学习
结合云计算的强大功能,机器学习可能会发挥超出我们想象的作用。强强融合将造就什么样的世界?这值得我们拭目以待!
2127 0