[R] R connect Hive with JDBC

#1. load packages

library("DBI")
library("rJava")
library("RJDBC")

#2. specify paths etc.

hive.class.path = list.files(path=c("/usr/local/hadoop/hive-release/lib"),pattern="jar", full.names=T);
hadoop.common.lib.path = list.files(path=c("/usr/local/hadoop/hadoop-2.7.1/share/hadoop/common"),pattern="jar",full.names=T);
hadoop.tool.lib.path = list.files(path=c("/usr/local/hadoop/hadoop-2.7.1/share/hadoop/tools/lib/"),pattern="jar",full.names=T);

cp = c(hive.class.path,hadoop.common.lib.path,hadoop.tool.lib.path)
.jinit(classpath=cp,parameters="-Djavax.security.auth.useSubjectCredsOnly=false")

#3. load the driver

#driver = JDBC(driver_class, driver_path)
drv <- JDBC("org.apache.hive.jdbc.HiveDriver", "/usr/local/hadoop/hive-release/lib/hive-jdbc-1.2.1-standalone.jar")

#3. define the connection

#connection = dbConnect(driver, address, user, password)
conn <- dbConnect(drv, "jdbc:hive2://xxx.xxx.x.x:port/xuserx;principal=hive/_HOST@xdomain;")

#4. query data

# if need to specify MapReduce queue
dbSendUpdate(conn, "set mapreduce.job.queuename=xxxx.xxxx.xxxx")
dbGetQuery(conn,"show tables")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值