作者:Harry Zhu
链接:https://zhuanlan.zhihu.com/p/21574497
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关内容:

sparklyr包:实现Spark与R的接口,会用dplyr就能玩Spark

概述

大数据时代,做数据分析的人才辈出,Java、Scala、Go、Julia、Python、JavaScript都不断涌现出很多数据分析的新工具,然而对于数据分析来说,这些工具都不是分析的核心,分析的核心在于对市场业务、对具体数据的理解。相信你也见过太多脱离具体应用场景和业务数据而空谈算法的『数据分析大师』了。算法的文章在教科书、论文、已经各种文章里面都是大把大把的,然而大道至简,真正能将算法转化为生产力解决实际问题才是关键。

作为统计学出身的人,真心无力折腾Java的设计模式、JS的异步回调,我们更倾向于把精力放在数据、模型、分析、拟合、预测、检验、报告等等。在SparkR之后,RStudio公司又推出了全新力作Sparklyr,全面继承dplyr的操作规范。通过Sparklyr和Docker的完美结合,Spark的大数据计算引擎门槛进一步降低!不仅仅简化了分布式计算的操作,还简化了安装部署的环节,我们只几乎不需要做什么改动就可以直接运用R中的dplyr进行分布式的计算,几乎不需要学习此前Scala风格的API。

什么是Sparklyr

Sparklyr顾名思义就是 Spark + dplyr。首先,它实现了将dplyr的data frame所有操作规范对Spark计算引擎的完整封装。其次,它是的R可以透过Spark的MLib机器学习库拓展分布式机器学习算法的能力。最后,对于其他Spark功能,我们还可以通过`sparkapi`来调用所有Spark库中的Scala接口。

目前,最新版本的RStudio 已经集成了Spark引擎,本文将带你快速进入大数据分析领域。

什么是Docker

Docker是类似于虚拟机的一种虚拟化软件,让我们可以在不同操作系统上运行相同的软件。它主要解决了虚拟机安装软件速度比较慢的问题,相对于虚拟机,Docker的启动速度是秒级的。本文将通过一个详细的例子,指导各位R语言的爱好者快速安装带有Spark功能的RStudio软件,快速开启您的大数据之旅。

软件安装

鉴于大量数据分析用户还是以Windows操作系统为主,或许还深度绑定了Excel这样的数据分析神器,本文将放弃以Unix视角,采用Windows视角为各位看官介绍软件安装过程。

步骤一:安装Windows版本Docker

你可以进入http://www.docker.com的官网首页,看到软件下载链接,这里需要您的操作系统在Windows 10及其以上版本。如果不想进入官网,也可以点击这个链接:https://download.docker.com/win/beta/InstallDocker.msi

下载之后根据系统提示默认安装即可,不得不说,Docker是一个神奇的软件。

步骤二:启动Docker软件

点击软件图标即可启动Docker软件(最新版本号和此图有可能并不一致)。接着,您可以选择打开系统自带Powershell软件,向Powershell中复制粘贴如下命令:

docker run -d -p 8787:8787 --name financer index.tenxcloud.com/7harryprince/sparkr-rstudio​

这时候只需要耐心等待您的大数据分析系统安装完成。(软件大概会占用4G左右的空间,我已经为你预先为你一站式安装了最新的 Shiny, R markdown,R notebook,jdk8,gcc5.3,R 3.3 以及其他数据分析常用的R包)

步骤三:访问RStuido软件

一旦软件完成安装,你可以在Chrome或者Edge中输入下面的地址访问到RStudio软件:

localhost:8787

最后,输入默认账号`harryzhu`,密码`harryzhu`即可进入RStudio软件。

推荐系统实战

library(sparklyr)
library(dplyr)
Sys.setenv(SPARK_HOME="/opt/spark-1.6.0-bin-hadoop2.6")
Sys.getenv("SPARK_HOME")
sc = spark_connect("local")
mtcars_tbl <- copy_to(sc, mtcars,overwrite = TRUE)

​未完
求各位看官给点反馈~~~

参考资料

  • RStudio又搞出了个大杀器!sparklyr包:实现Spark与R的接口,会用dplyr就能玩Spark
  • Using Spark with Shiny and R Markdown Slide
  • https://channel9.msdn.com/Events/useR-international-R-User-conference/useR2016/Using-Spark-with-Shiny-and-R-Markdown Video
  • https://blogs.msdn.microsoft.com/azuredatalake/2016/08/09/rapid-big-data-prototyping-with-microsoft-r-server-on-apache-spark-context-switching-spark-tuning/
  • https://databricks.com/blog/2016/07/07/sparkr-tutorial-at-user-2016.html?twitter=@bigdata
  • http://conferences.oreilly.com/strata/hadoop-big-data-ny/public/schedule/detail/52369?twitter=@bigdata
  • Top 5 Mistakes When Writing Spark Applications


「欢迎下载sparkrstuido镜像」

Sparklyr与Docker的推荐系统实战相关推荐

  1. docker容器互联实战

    2019独角兽企业重金招聘Python工程师标准>>> docker容器互联实战 转载于:https://my.oschina.net/xiejunbo/blog/811768

  2. Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像

    文章目录 Pre Docker 官方镜像 Dockerfile dockerfile制作tomcat镜像 准备软件 编写Dockerfile文件 dockerfile构建镜像 启动镜像 测试访问tom ...

  3. 《Docker进阶与实战》——3.2节使用Docker image

    本节书摘来自华章社区<Docker进阶与实战>一书中的第3章,第3.2节使用Docker image,作者华为Docker实践小组,更多章节内容可以访问云栖社区"华章社区&quo ...

  4. 搜索推荐系统实战:起始篇

    搜索推荐系统实战篇-上半篇 一切源于炼丹笔记,我只是敲了敲代码. 搜索推荐系统实战:起始篇 搜索推荐系统实战:进化篇 搜索推荐系统实战:终极奥秘 在电商搜索中,例如淘宝,拼多多,京东等的搜索的场景往往 ...

  5. 搜索推荐系统实战:进化篇

    搜索推荐系统实战篇-中篇 一切源于炼丹笔记,我只是敲了敲代码. 搜索推荐系统实战:起始篇 搜索推荐系统实战:进化篇 搜索推荐系统实战:终极奥秘 此处我们假设模型训练的大的框架已经固定,同时数据采样的方 ...

  6. 搜索推荐系统实战:终极奥秘

    搜索推荐系统实战篇-下篇 一切源于炼丹笔记,我只是敲了敲代码. 搜索推荐系统实战:起始篇 搜索推荐系统实战:进化篇 搜索推荐系统实战:终极奥秘 Bias问题是推荐系统长期需要考虑的一个问题,举些简单的 ...

  7. Spark机器学习实战 (十二) - 推荐系统实战

    0 相关源码 将结合前述知识进行综合实战,以达到所学即所用.在推荐系统项目中,讲解了推荐系统基本原理以及实现推荐系统的架构思路,有其他相关研发经验基础的同学可以结合以往的经验,实现自己的推荐系统. 1 ...

  8. Docker小白到实战之Docker网络简单了解一下

    前言 现在对于Docker容器的隔离性都有所了解了,但对容器IP地址的分配.容器间的访问等还是有点小疑问,如果容器的IP由于新启动导致变动,那又怎么才能保证原有业务不会被影响,这就和网络有挂钩了,接下 ...

  9. Docker小白到实战之Dockerfile解析及实战演示,果然顺手

    前言 使用第三方镜像肯定不是学习Docker的最终目的,最想要的还是自己构建镜像:将自己的程序.文件.环境等构建成自己想要的应用镜像,方便后续部署.启动和维护:而Dockerfile就是专门做这个事的 ...

最新文章

  1. java常用类--------File类基本用法
  2. 运筹学的课程笔记 markov decision process
  3. matlab optimization terminated,求助Optimization terminated. 的问题
  4. row_number() OVER(PARTITION BY)函数
  5. Android和IOS打开文档
  6. 几个简单的排序方式1
  7. java正则表达式非贪婪_正则表达式中的贪婪与非贪婪匹配模式
  8. 《财富》评2020年最受赞赏中国公司:华为第一 小米第三
  9. Java内存管理(一)--内存分区
  10. 吴恩达深度学习CNN作业:Convolutional Neural Networks: Step by Step
  11. 谷歌宣布 Linux Kernel、Kubernetes 0day 漏洞奖励加倍
  12. TensorFlow精进之路(十):循环神经网络RNN
  13. MySQL 相关知识细节及解析
  14. 前端开发工程化探讨--基础篇
  15. animator 控制移动_Unity UGUI通过摇杆控制角色移动
  16. html input 密文,HTML input text框显示为密文
  17. 计算机应用期刊投中难吗,计算机应用研究投稿水平高吗
  18. adobe acrobat pro 9.0 总是弹出许可证问题解决方案
  19. AngularJs错误
  20. Git教程及常用命令

热门文章

  1. CentOS 本地ISO 挂载并配置本地软件源
  2. 开发一个手游需要的工种
  3. chrome浏览器下audio自动播放的hack
  4. UGUI自定义组件之Image根据Text大小自动调整
  5. Spring Cloud分布式微服务系统中利用redssion实现分布式锁
  6. 【转】NGUI创建UIRoot后报NullReferenceException的解决办法
  7. HttpServletResponse中sendError与setStatus的区别
  8. SQL光标的基本使用
  9. 一个中产阶级丈夫给坚持买房妻子的一封信
  10. 【Mac OS】Anaconda+PyCharm搭建PyTorch环境