在当今快速发展的信息技术领域,"SMAC"(社交、移动、分析和云计算)的变化正深刻影响着组织、人员和产品。本文将指导如何利用云计算提升分析能力,特别是通过使用R编程语言和RStudio。将逐步介绍云计算的概念,并探讨使用R在云上相比传统桌面或本地客户端/服务器架构的优势。
云计算在过去几年中经历了无与伦比的增长和渗透,它使组织能够快速且轻松地扩展。利用云服务,公司现在可以收集、存储和分析以前几乎无法想象的大量数据。随着亚马逊、谷歌和微软等公司提供的服务,云服务现在对任何分析师都是可访问的。
过去,需要购买具有特定容量的服务器,当超出该容量时,需要购买新的服务器。例如,通常进行的分析是在几GB的数据上进行的,这足以直接在笔记本电脑上运行。然而,最近微软在Kaggle上发布了约400GB的恶意软件和病毒数据。如果想在笔记本电脑上解决这个问题,可能只是在下载数据集时就用光了互联网计划。分析它本身就是一个单独的挑战。
即使下载了数据集,通过非云方式进行有意义的计算的唯一方法是购买新机器——这不是一个非常实用的解决方案。这就是云计算发挥作用的地方!
如上所述的案例研究,云在处理大数据时比在本地桌面、笔记本电脑或服务器上存储数据更便宜。等等,大数据?是的!大数据是一个总称,基本上指的是体积、种类和速度大于传统数据源的数据,它需要像Hadoop这样的分布式计算和像NoSQL数据库这样的非RDBMS存储。
根据国家标准与技术研究院(NIST)对云计算的定义,云计算是一种模型,它支持无处不在、方便、按需的网络访问共享的可配置计算资源池(例如,网络、服务器、存储、应用程序和服务),这些资源可以快速配置和释放,最小化管理努力或服务提供商交互。这个云模型由五个基本特征、三种服务模型和四种部署模型组成。
云计算由三个组成部分构成:
IaaS - 云用户在云基础设施上安装操作系统映像和他们的应用程序软件来部署他们的应用程序。在这个模型中,云用户修补和维护操作系统和应用程序软件。
PaaS - 云提供商提供计算平台,通常包括操作系统、编程语言执行环境、数据库和Web服务器。应用程序开发人员可以在云平台上开发和运行他们的软件解决方案,而无需购买和管理底层硬件和软件层的成本和复杂性。
SaaS - 在软件即服务(SaaS)中,用户可以获得应用程序软件和数据库的访问权限。云提供商管理运行应用程序的基础设施和平台。SaaS有时被称为“按需软件”。
Python
和R一样是免费的,但R的主要优势在于R包的统计库远比Python的更广泛。
SAS
仍然是桌面上企业分析的领先语言,但对于小企业来说仍然很贵,并且由于年度许可结构而不是一次性许可费,它在资本支出承诺方面有显著的劣势。
由于知道R受限于处理的数据大小只能和RAM大小一样大,云为提供了一个快速的解决方案,可以处理大数据科学中的R。这可以通过简单地增加虚拟机实例上的RAM来实现。可以在云上看到各种RAM选项,这些选项在本地机器上是负担不起的。
对于大数据集来说,最好在云上使用它,而不是下载数据集、处理它然后再进行评分。例如,如果有一个使用30GB数据的比赛,最好在云上使用它。因此,云是学习大数据的好方法,而不会被互联网速度所困扰。
云拥有更好的带宽速度。因此,在云上安装软件和传输数据要快得多。
可以使用额外的服务,如AzureML与云上的R,而不是从头开始构建自己的机器学习服务。可以了解更多信息。
云对于数据的体积或速度变化更具可扩展性。
可以在亚马逊云、微软Azure或谷歌云上创建一个实例(一个可以远程访问的虚拟机)。然后,可以像在本地桌面上一样简单地安装R。可以通过SSH或远程桌面连接到远程机器。
以下是在亚马逊网络服务上创建云实例的逐步过程。
// 注意:亚马逊有一个免费层,允许免费试用亚马逊云一年。但这仅适用于微型实例,这些实例的RAM和磁盘空间非常小。对于更高的RAM和更高的存储,需要支付更多费用。要查看各种实例及其每小时定价,可以访问这里。基本上费用是按计算单元收取的,但这个网站使计算成本变得容易。
// 首先,需要创建亚马逊ID。完成后,请按照以下步骤在亚马逊网络服务上创建云实例:
// 登录到亚马逊网络服务(AWS)控制台
// 点击运行实例
// 选择将远程访问的虚拟机的操作系统。这里选择了亚马逊Linux。
// 选择实例类型(所需的RAM和内存大小)。查看这里比较价格。
// 创建一个安全密钥。这是登录远程机器所需的安全密钥。注意,可以使用远程桌面登录Windows操作系统,但需要使用SSH登录Linux实例。
// 点击启动实例
// 使用安全密钥按照给定的说明连接到实例。
// 现在,就像在本地机器上一样在远程机器上工作。
// 在这里尝试安装R
// 一旦工作完成,请记得关闭实例,否则将产生高额的月度账单。
// 可以选择按需实例,甚至可以预订预留实例(预订虚拟机一段时间,并因此获得相当大的折扣)。
RStudio Server版仅在Linux上运行。因此,选择云上的Linux实例,然后配置RStudio Server。然后,可以通过浏览器连接到远程RStudio Server,并像使用本地机器一样使用它。
以下是在云上运行RStudio的逐步方法。
// 注意-已经使用sudo yum install R安装了R
// 下载RStudio服务器到虚拟机,然后安装RStudio Server
$ wget http://download2.rstudio.org/rstudio-server-rhel5-0.99.442-i686.rpm
$ sudo yum install --nogpgcheck rstudio-server-rhel5-0.99.442-i686.rpm
// 验证安装
$ sudo rstudio-server verify-installation
// 在AWS控制台(左侧边栏安全组)中通过创建自定义TCP规则(点击下方标签编辑)打开8787端口
// 使用SSH终端为虚拟机云实例创建一个新用户和新密码
sudo useradd newuser1
sudo passwd newuser1
// 在实例标签的左侧边栏找到云实例的公共IP地址
// 打开浏览器到IPAddress: 8787,然后使用上述创建的用户ID和密码登录
// 现在已经准备好通过浏览器使用云上的R了
Bioconductor云是在云上启动R的绝佳方式。可以查看说明。
也可以使用谷歌和Windows Azure的云选项。然而,大部分市场由亚马逊网络服务主导。
是的,可以使用在云上,也可以使用。