文档章节

RODPS介绍

_夜枫
 _夜枫
发布于 2017/03/22 10:51
字数 713
阅读 24
收藏 0

这篇文章主要是给外部用户介绍如何使用RODPS的

(一)概念介绍

RODPS能够提供一个桥接的方式,使得可以在R语言环境中无缝的使用MaxCompute(原ODPS)里面的数据、计算资源,类似于开源社区的RHive和Rhadoop的功能。
t_1044143988

(二)安装R基础环境

2.1 Linux server

可从源码开始安装,参见https://yq.aliyun.com/articles/60858?spm=5176.100240.searchblog.7.QxcgSP

2.2 MacOSX和Windows

直接从官网可以下载二进制安装包,例如mac可以从https://cran.rstudio.com/bin/macosx/

(三)安装RODPS:

3.1 安装相关依赖包

install.packages("rJava","DBI","RSQLite")

3.2 安装RODPS

在公共环境中对外环境对应的版本请查看 http://repo.aliyun.com/rodps/ 在R运行环境中 使用
install.packages("http://repo.aliyun.com/download/RODPS.tar.gz", repos=NULL)
安装完毕以后还需要配置conf.ini文件,该文件的主要配置项有
access_id=
access_key=
end_point=
project_name=
sqlite_temp=
logview_host=

通过全局变量:export RODPS_CONFIG=path/to/odps_config.ini或者通过 rodps.init配置odps_config.ini
rodps.init("path/to/odps_config.ini")
这个时候加载包
library(RODPS)
可以使用RODPS,可以先看看版本是哪个
rodps.version()

(四)我们来看看RODPS可以做什么:

对数据和表的基础处理

获取当前项目中的表
rodps.table.list()
查看表结构
_2016_10_18_4_04_46
可以查看表中的行数
rodps.rows.table('test_out')
[1] 144
数据加载
df <- rodps.load.table('test_out')
nrow(df)
[1] 144
从中进行抽样计算,因为示例表数据较少,这里取10%的比例
rodps.sample.srs('test_out','test_out_sample',0.1)
查看其行数
rodps.table.rows("test_out_sample")
[1] 6
用head查看数据
> rodps.table.head("test_out_sample")
a01 a02 a03 a04 class prediction_result prediction_score
1 1 0 0.981775 0.464010 1 1 0.8764194
2 1 0 0.941040 0.426805 1 1 0.8900558
3 1 0 1.000000 0.505525 1 1 0.8837226
4 0 0 0.000000 0.000000 0 0 1.0000000
5 1 0 1.000000 0.727275 1 1 0.8837226
6 1 0 0.917135 0.695605 1 1 0.8747627

还可以用RODPS直接画图
rodps.hist(tablename='test_out',colname='prediction_score',col=rainbow(10),
main="Hist of sample",freq=F)

Rplot

集成到Rstudio中执行

_2016_10_18_4_19_15

远程MaxCompute和本地R环境的数据通道

执行sql获取数据到本地R环境中
df <- rodps.sql("select * from test_out")
从而可以在本地进处理
head(df)
a01 a02 a03 a04 class prediction_result prediction_score
1 1 0 1.000000 0.405855 0 1 0.8208771
2 1 0 1.000000 0.274195 0 1 0.8606207
3 1 0 0.511685 0.497040 0 0 0.8481383
4 1 0 0.987940 0.446990 1 1 0.8764194

或者从本地R环境load数据到MaxCompute
首先创建一张一模一样结构的表
rodps.sql("create table test_out_test like test_out")
然后就可以导入到该表中数据
> rodps.table.write(as.data.frame(df),"test_out_test")
[1] TRUE

查看数据条数
> rodps.table.rows("test_out_test")
[1] 10

(四)总结:

这里简要介绍了RODPS的基本功能,更多信息可以查看帮助文档
help(rodps.sql)
help(rodps.table)

未来RODPS将致力于将本地算法和数据处理运作在分布式系统上面,致力于让用户无缝迁移R社区的开源包,提供类似于sparkR那样的强大的能力。

 

欢迎加入MaxCompute钉钉群讨论

42559c7dde62e4d333c90e02efdf416257a4be27

本文转载自:https://yq.aliyun.com/articles/61827

_夜枫
粉丝 10
博文 506
码字总数 0
作品 0
朝阳
后端工程师
私信 提问
【干货索引】阿里云大数据计算服务MaxCompute与生态系统的融合

摘要: MaxCompute大家都不陌生,之前产品名称叫ODPS,之后随国际化而更名。从支持阿里集团内部99%数据业务到计算能力对外输出,帮助政府、互联网公司、金融等进行大数据项目服务,使得数据变...

阿里云云栖社区
2018/01/12
25
0
阿里巴巴大数据计算平台MaxCompute(原名ODPS)全套攻略(持续更新20171127)

概况介绍 大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方...

隐林
2017/05/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

没有更多内容

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
1K
12
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
33
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
36
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
50
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部