专栏首页大数据文摘如何用R语言进行云计算

如何用R语言进行云计算

作者 | Ajay Ohri

翻译 | 丁雪

校对 | ValaWong

如今,几乎所有领域或业务活动正在通过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是有时被称为“按需软件”。

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

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

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

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

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

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

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

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

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

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

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

注:亚马逊可以免费让你试用亚马逊云服务一年。

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

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

点击运行实例

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

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

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

点击发布实例

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

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

这是我正在安装R。

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

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

如何在云端使用R操作RStudio?

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

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

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

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

你需要确认安装完毕。

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

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

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

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

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

结语

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

原文链接

http://www.analyticsvidhya.com/blog/2015/06/cloud-computing-r-programming/

本文分享自微信公众号 - 大数据文摘(BigDataDigest),作者:大数据文摘

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-11-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 中关村大数据交易产业联盟成立

    大数据文摘
  • 还在用ps抠图抠瞎眼?机器学习通用背景去除产品诞生记

    大数据文摘
  • 吴甘沙清华讲:大数据的10个技术前沿(中)

    大数据文摘
  • 云计算时代将重塑全球经济格局

    2008年国际金融危机之后兴起的新一轮产业革命,既是一场产业革命,更是一场数字化革命。 互联网、物联网、大数据、云计算、人工智能等多点突破和融合互动将推动新产业...

    静一
  • 沙龙回顾 | 推荐系统 唯快不破

    本次分享是神盾推荐系统中针对快数据应用场景的架构介绍,分为数据计算和数据分发两个部分。

    腾讯QQ大数据
  • 云计算和大数据:繁华背后的凄凉

    从目前来看,2015年云计算与大数据产业一定会继续快速增长,各种强调数据重要性的论调都是老生常谈了,我们现在想知道的是,在云计算与大数据产业已经十分热闹的情况下...

    静一
  • 业界 | 中科院院士梅宏:大数据对计算体系带来的挑战以及应对策略丨数博会2019

    AI科技评论按:在贵州举办的2019年数博会吸引了国内外各界目光,围绕大数据最新技术创新与成就,诸多学界、产业界、政界人士纷纷参与交流。在5月25日的“5G+大...

    AI科技评论
  • Html与CSS快速入门02-HTML基础应用

    这部分是html细节知识的学习。 ? 示例代码:https://github.com/wanliwang/Bjork.Demo htmlDemo 最近胡乱删除...

    用户1216676
  • 【推荐阅读】大数据分析的6个核心技术

    目前,大数据领域每年都会涌现出大量新的技术,成为大数据获取、存储、处理分析或可视化的有效手段。大数据技术能够将大规模数据中隐藏的信息和知识挖掘出来,为人类社会经...

    钱塘数据
  • 吴甘沙清华讲:大数据的10个技术前沿(中)

    大数据文摘

扫码关注云+社区

领取腾讯云代金券