[R]高性能计算SparkR
Why SparkR
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载 。
而Spark力图整合机器学习(MLib)、图算法(GraphX)、流式计算(Spark Streaming)和数据仓库(Spark SQL)等领域,通过计算引擎Spark,弹性分布式数据集(RDD),架构出一个新的大数据应用平台。
SparkR 是一个提供轻量级前端的 R 包,在 R 的基础上加入了 Spark 的分布式计算和存储等特性。在 Spark 1.6.1 中,SparkR 提供了一个分布式数据框(DataFrame)的实现,它能够支持诸如选取、过滤和聚集等操作。这个特性与 R 语言自身提供的特性类似,但 SparkR 能够作用于更大规模的数据集。SparkR 是一个提供轻量级前端的 R 包,在 R 的基础上加入了 Spark 的分布式计算和存储等特性。汇集了spark和R本身的诸多优点,如下图。
How to use it?
- SparkR特有SparkDataFrame
SparkDataFram要实现MapReduce的函数式操作
- dapply
- dapplyCollect
- gapply
其中dapply的框架如下图所示:
dapply 的用法:
- dapply(x,fun,schema)
- dapply(x,fun)
- 把fun函数应用到SparkDataFrame的每一个数据切片,然后把结果收集回本机成为data.frame;
- R函数的输入、输出均为data.frame
- 指定schema,R函数输出必须匹配schema
- example:
df <- creatDataFrame(sqlContext,mtcars) df1 <- dapply(df,functuion(x){x+1},schema(df))
dapplyCollect
其中dapply的框架如下图所示:
ldf <- dapplyCollect(df,function(x){x+1})

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
hadoop集群同步实现
#!/usr/bin/env python #coding=utf-8 #scribe日志接收存在小集群到大集群之间, distcp 同步失败的情况,需要手动进行补入。 #1、如果查询补入的日志量少,则可以之间用脚本处理。如果量大,则使用 hadoop 提交job。 # hadoop job 提交方式: # hadoop jar /usr/local/hadoop-2.4.0/share/hadoop/tools/lib/hadoop-distcp-2.4.0.jar -m 100 hdfs://scribehadoop/scribelog/common_act/2016/08/02/13/ /file/realtime/distcpv2/scribelog/common_act/2016/08/02/13 --update # --update 参数表示如果目标地址目录存在,则更新该目录中的内容。 #手动同步脚本使用方法: python manual_check_sync.py dst_path #脚本完成大集群和小集群之间的目录大小比较,目录文件比较。 输出差异文件列表。最后...
- 下一篇
低版本mvel在MaxCompute jdk8环境中报java.lang.VerifyError
最近MaxCompute在升级jdk8的环境,导致线上使用到MVEL的离线任务挂掉,主要是下面这个异常 Exception in thread "main" java.lang.VerifyError: (class: ASMAccessorImpl_4458843621386333353870, method: getKnownEgressType signature: ()Ljava/lang/Class;) Illegal type in constant pool 经过一系列查找最终确定这个是低版本mvel的bug,主要是ASMAccessorOptimizer这个类对高版本java没有处理,已经得到官方确认https://github.com/mvel/mvel/pull/84 https://github.com/mve
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果