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)