接口篇 – R连接Greenplum

R语言是一门用于统计分析和绘图的语言,在统计分析场景下应用较为广泛。R语言小巧,使用方便,轻量级内存计算,并且开源。

在很多统计分析场景下,R语言都能轻松驾驭,但是由于其主要采用内存进行数据存储计算的特性,性能会受限于硬件。如果底层能与Greenplum搭配使用,在大数据量处理场景下,会更加得力。

R语言连接Greenplum有多种方式:JDBC、ODBC或DBI,最靠谱的应属DBI方式(感官上有点类似perl?),这也是支持最好、安装最方便的方式。下面主要介绍该方式连接Greenplum。

安装

首先CRAN上提供的DBI PostgreSQL适配为RPostgreSQL,要使用该驱动包,我们本地R机器上必须安装PostgreSQL的开发包,因为其底层采用的也是libpq。

如果在CentOS环境下,可以直接执行如下命令一键安装:

[parallels@centos-7 ~]$ sudo yum install postgresql-devel

然后我们从CRAN下载对应的DBI PostgreSQL驱动

install.packages('RPostgreSQL')

正常如果不报错的话,如上基本算安装完成。

R连接Greenplum

我们采用R连接Greenplum,使用最多的可能就是查询数据了,下面展示一个查询的例子,其他的用法可以从CRAN上的参考手册中获得。

查询示例

> require(RPostgreSQL)
# 获取驱动
> drv <- dbDriver("PostgreSQL")
# 建立连接
> con <- dbConnect(drv, dbname = "postgres",user = "gpadmin1", password = "", host = "10.211.55.6", port = 5432)
# 执行查询
> dbGetQuery(con, "select * from t1")
  id name
1  1    a
2  2    b
3  3    c
# 释放连接
> dbDisconnect(con)
# 释放驱动资源
> dbUnloadDriver(drv)

关注微信公众号

VMware 中国研发中心

Greenplum官方技术交流群

扫码添加小助手即可入群,添加时请备注 “GP网站”