楼主: lianqihappy
1006 0

[学习分享] 在云端进行可扩展架构的大数据与数据科学 [推广有奖]

  • 0关注
  • 22粉丝

教授

1%

还不是VIP/贵宾

-

威望
0
论坛币
3130 个
通用积分
1.0061
学术水平
59 点
热心指数
50 点
信用等级
44 点
经验
12628 点
帖子
467
精华
3
在线时间
90 小时
注册时间
2015-3-13
最后登录
2016-8-29

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
       如今,数据科学变得越来越复杂。这种复杂性由下面三个因素导致:
       增长的数据生产能力 —— 环视四周,数的出多少个能产生数据的设备呢?如果你用笔记本电脑来浏览本文的话算一个,如果身边有智能手机(以及安装的APPs)的话再加一个,如果带了健身手环的话还要加一个,驾驶的汽车(有些情况下)也算一个 —— 它们都在持续不断地生产数据。现在设想今后几 年内的情景,你所使用的冰箱、家里的温度调节器、穿戴的衣物、兜内的钢笔以及喝水的水壶都会嵌入传感器,不断向数据科学家(和数据库)传输数据用来分析。
       低廉的数据存储成本 —— 我们来做个猜测。猜一猜,把自古以来全球所有的音乐存储起来需要花费多少钱呢?你的答案是什么?我的估计是总花费远不到1000美元。
       廉价的计算能力 —— 看一下最近发布的一款笔记本电脑性能配置清单。一个拥有64GB RAM的Xeon处理器加上Quadro的GPU。这台机器预计售价不到2000美元,重量约为2.5kg。还需要我多说什么吗?

       总之,我们正在源源不断地生产数据(当你阅读本文时,你也将成为一个数据样本),我们能以极低的成本存储这些数据,并且对它们做计算和仿真处理。
       为什么在云端进行数据科学?
       那我们为什么要把数据放在云端处理呢?当你看到一台笔记本电脑就配备64GB RAM时,不禁会问我们真的需要把数据送到云端吗?答案绝对是需要的,我们能找出一大堆理由来。下面就列出几条:
       需要运行可扩展的数据科学:让我们回到几年前。在2010年,我进入一家跨国保险公司组建数据科学部门。其中的一项工作就是采购了一台16GB RAM的服务器。由于是新组建部门,我们按照超前3~5年的标准采购。当初类似星形的组合结构,随着我们的雇员增加而无法扩展。不仅因为组内成员增长,数据量也呈指数级增长。由于只有一台实体机,我们陷入了困境!我们要不购买一台新的、性能更强的服务器,要不让现有这台满负荷运转(很快就将会过载)。你最不愿意看到的事情就是组里的数据科学家盯着屏幕等待未处理完的数据!而云端的机器只需轻击鼠标就能轻易扩展,省去了很多烦心事。因此即使数据量增长几倍,现在的脚本和模型依旧能够正常运行。
       成本:可扩展性是一方面,成本也是一方面。假设你有一个问题需要解决,问题不常现,但是需要更高配的计算基础框架。这类情况很常见 —— 若想挖掘自己赞助的某次年度事件的社会媒体数据,但想实时查看结果。受制于成本,不可能为此而买一台新机器。很简单,这时只要租一台高配置的机器,租用几个小时或者几天就能解决问题,成本是新购机器的零头。
       协作:当想和多位数据科学家同时工作时该如何是好?想必你不愿意他们每个人都在本地机器上复制一份数据和代码吧。
       共享:当想和组员共享Python/R代码时会怎么办?你所使用的函数库可能在他那儿没有,或是版本太低。如何确保代码在不同机器间可迁移呢?
       更大的机器学习系统开发生态系统:像AWS、Azure等一些云服务商,提供完整的生态系统帮你采集数据、生成模型并部署。如果使用实体机,都需要自己设置这些配置。
        快速搭建原型:很多时候,你在路上或是和朋友交流时蹦出了新想法。这些情况下,使用云计算服务就会很便捷。能快速地完成原型开发,而不必担心版本和扩展性。在证实了自己的想法之后,也能方便地转化为产品。
      现在你明白了数据科学的云计算的需求了吧。我们接着看看在云端执行R和Python的不同选择。
       在云端做数据科学的选择:
       Amazon Web Services (AWS)
      Amazon是云计算界的老大。它们占据最大的市场份额,有完整的文档,提供便捷的环境支持快速扩展。这篇文章教你如何在机器上运行 R或者RStudio。如果云端的机器是Linux系统,那么Python是预装的。也可以自己安装额外需要的库函数和模块。

你可以使用 AWS machine learning,自己配置一台机器,甚至直接使用 DataScienceToolbox,它提供工具箱之外用到的所有软件。平台不仅仅是提供服务,还提供一些大规模数据集供你玩转大数据。

因为AWS是最流行的选择,它形成了完善的生态系统,并且(相对其它而言)更容易找到包含正确经验的各种资源。然而,Amazon相比其它家服务的价格通常更贵一些,甚至不提供某些服务。另外,由于某些原因机器学习的服务不对亚太地区开放。因此,如果你恰好位于这些地区,则需要选择北美的服务器,或者在云端自己配置一台虚拟机。

Azure Machine Learning
如果AWS是冠军的话,Azure就是冠军挑战者。Microsoft明确地加大力度提供一个执行端对端数据科学和机器学习流程的接口。你可以使用他们的 studio来搭建机器学习工作流程,在云端使用JuPyTer notebooks,或者直接使用ML APIs。

Microsoft已经在 虚拟学院提供了免费的电子文档和MOOC帮你入门。

IBM BlueMix:

如果说Amazon和Microsoft是在云计算领域有机地发展,那么IBM的思路略有不同。IBM开发了BlueMix平台,随后急速开始营销其服务产品。尽管提供方式不如AWS和Azure直接,但还是能在云端提供设置记事本而使用。
       数据科学社区如何使用Watson提供的APIs也将会很有意思。
       Sense.io:
       如果觉得我之前写的那些都太复杂了,那就有必要了解一下Sense。Sense项目可以只点击一个按钮完成部署。他们提供的服务基于R、Python、Spark、Julia和Impala,成员之间灵活地合作和共享分析结果。
       Demino DataLabs
       Domino位于旧金山,它提供一个安全的云计算环境,支持R、Python、Julia和Matlab等开发语言。平台提供版本控制功能和特色,使得组内合作和共享变得无比容易。
       DataJoy
      DataJoy目前像是Sense和DominoDataLab的剥离版本,但它今后如何发展很引人关注。目前,若想在云端运行R或者Python,不妨也试一试DataJoy。


       PythonAnywhere

       你如果正在开发网络应用,并需要搭建一个包含数据科学模块的网站,PythonAnywhere似乎是个完美的选择。正如名字所称,这个选择是基于Python开发,但它提供了一个单独的窗口来托管主机、搭建网站和进行数据科学分析。
       在云端进行数据科学的挑战:
       尽管云计算有其独有的优势,它也面临着不少挑战。我认为这些挑战在长期并不会停止云服务使用的增长,但是偶尔也会形成一些障碍。
      和第三方共享数据的担忧:我不断地面临这项挑战。不论你如何试图向一部分人解释云端的安全性,把数据共享到公司外部总是令人担忧。通常这都是监管方需求或是法律要求,但往往给出的理由也很无厘头。例如,很多银行都不愿意上传它们的数据到云端进行分析。
      需要上传/下载大量数据:由于数据中心存储大量的数据 —— 如果网络基础设施不稳固,一次性上传这些大数据将是巨大的挑战。
      后记
      云计算正因其带来的利益而受到更多的关注,这些云计算服务变得常态化(假如目前还没有)也将只是时间问题。希望你觉得这些云计算服务有用,当你需要的时候唾手可得
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据科学 在云端 可扩展 大数据 Microsoft 笔记本电脑 智能手机 处理器 科学家 在云端

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 14:00