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 
相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
10月前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
842 1
|
存储 NoSQL 关系型数据库
深入探索地理空间查询:如何优雅地在MySQL、PostgreSQL及Redis中实现精准的地理数据存储与检索技巧
深入探索地理空间查询:如何优雅地在MySQL、PostgreSQL及Redis中实现精准的地理数据存储与检索技巧
3316 0
|
机器学习/深度学习 算法 物联网
探究操作系统的心脏:调度算法的演变与优化
本文旨在深入探讨操作系统中核心组件——调度算法的发展脉络与优化策略。通过分析从单任务到多任务、实时系统的演进过程,揭示调度算法如何作为系统性能瓶颈的解决关键,以及在云计算和物联网新兴领域中的应用前景。不同于传统摘要,本文将注重于概念阐释与实例分析相结合,为读者提供直观且全面的理解视角。
|
SQL 存储 分布式计算
MaxCompute 入门:大数据处理的第一步
【8月更文第31天】在当今数字化转型的时代,企业和组织每天都在产生大量的数据。有效地管理和分析这些数据变得至关重要。阿里云的 MaxCompute(原名 ODPS)是一个用于处理海量数据的大规模分布式计算服务。它提供了强大的存储能力以及丰富的数据处理功能,让开发者能够快速构建数据仓库、实时报表系统、数据挖掘等应用。本文将介绍 MaxCompute 的基本概念、架构,并演示如何开始使用这一大数据处理平台。
2153 0
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之写入ODPS目的表时遇到脏数据报错,该怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
723 0
|
机器学习/深度学习 人工智能 搜索推荐
推荐3个文本转语音AI工具
三款文本转语音工具各具特色,适用于不同的场景和需求。ELEVENLABS语音合成凭借其高质量的语音输出和先进的技术支持,适合对音质有较高要求的用户;TTSMAKER语音合成简单易用,功能丰富,适合普通用户日常使用;SPEECHIFY文本转语音则注重实用性和便捷性,特别适用于长时间阅读或学习场景。无论你是职场人士、学生还是语言学习者,都能在这些工具中找到适合自己的选择。【6月更文挑战第4天】
1142 0
|
SQL 存储 JSON
使用实践:Fixed Plan加速SQL执行
本文将会介绍在Hologres中如何通过fixed plan加速SQL运行
12105 0
使用实践:Fixed Plan加速SQL执行
|
弹性计算 固态存储 Linux
云服务器ECS,你真的懂吗?
云服务器ECS是阿里云最基础的弹性计算服务,总计规划了十余种规格族,几十种规格。用户在面对阿里云众多的产品种类,颇有种挑花了眼不知如何入手的感觉,本文就对阿里云最基础的云服务器ECS进行一下详细的介绍。
23960 5
|
Ubuntu Linux Shell
Docker和孤儿进程、僵尸进程
#Docker和孤儿进程、僵尸进程 ##前言 在unix/linux系统中,正常情况下,子进程是通过父进程fork创建的。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程到底什么时候结束。 当一个进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。 ### 孤儿进程 * 父进程先于子进程退出,那么子进程将
10412 0
|
API Docker 容器
使用dvm解决Docker的Daemon和Client版本不一致问题
服务通过Docker Swarm部署后,如果在开发机本地执行类似如下命令: ``` docker -H tcp://swarm.alibaba.net:8443 exec -it $containerId /bin/bash ``` 如果开发机本地Docker版本高于服务器上的版本(这是很容易发生的,稍微Geek的同学是无法容忍本地软件不是最新这一事实的!),就会得到类似如下错误:
7334 0

热门文章

最新文章