RODPS介绍

简介: 这篇文章主要是给外部用户介绍如何使用RODPS的 (一)概念介绍 RODPS能够提供一个桥接的方式,使得可以在R语言环境中无缝的使用MaxCompute(原ODPS)里面的数据、计算资源,类似于开源社区的RHive和Rhadoop的功能。 (二)安装R基础环境 2.1 Linux serve

这篇文章主要是给外部用户介绍如何使用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

在公共环境中对外环境对应的版本请查看 https://github.com/aliyun/aliyun-odps-r-plugin 在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购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下:

96e17df884ab556dc002c912fa736ef6558cbb51 
相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
5月前
|
Java 数据库连接 数据库
SpringMVC之增删改查(CRUD)项目模拟
SpringMVC之增删改查(CRUD)项目模拟
58 0
|
5月前
|
存储 JSON JavaScript
Vue开发中Jwt的使用
Vue开发中Jwt的使用
|
SQL 分布式计算 自然语言处理
高效使用 PyODPS 最佳实践
以更清晰的认知 PyODPS,DataWorks PyODPS 节点以及 PyODPS 何时在计算集群运行,开发者如何利用 PyODPS 更高效地进行数据开发。
14664 3
高效使用 PyODPS 最佳实践
|
分布式计算 大数据 MaxCompute
阿里巴巴飞天大数据平台MaxCompute(原名ODPS)全套攻略(持续更新20200109)
10年老兵带你看尽MaxCompute大数据运算挑战与实践
130513 16
阿里巴巴飞天大数据平台MaxCompute(原名ODPS)全套攻略(持续更新20200109)
|
5月前
|
数据采集 SQL 数据库
实习踩过的那些坑1:数据抽取
实习踩过的那些坑1:数据抽取
82 0
|
11月前
|
资源调度 算法 数据可视化
贝叶斯 RStan 包入门教程
贝叶斯 RStan 包入门教程
1434 0
|
11月前
|
机器学习/深度学习 监控 安全
AIGC:引领智能图像处理的未来趋势与挑战
AIGC:引领智能图像处理的未来趋势与挑战
355 1
|
SQL 存储 Java
Python-sqlparse解析SQL工具库一文详解(一)
Python-sqlparse解析SQL工具库一文详解(一)
2681 0
Python-sqlparse解析SQL工具库一文详解(一)
|
机器学习/深度学习 数据采集 人工智能
一文概览NLP算法(Python)(上)
NLP,自然语言处理就是用计算机来分析和生成自然语言(文本、语音),目的是让人类可以用自然语言形式跟计算机系统进行人机交互,从而更便捷、有效地进行信息管理。
|
数据可视化 数据挖掘 图形学