_대문 | 방명록 | 최근글 | 홈피소개 | 주인놈
FrontPage › JDBC연동

Contents

[-]
1 hive JDBC 연동
2 tajo JDBC 연동


1 hive JDBC 연동 #

library("RJDBC")
cp <- c( 
"c:\\hive\\hadoop-common-2.5.2.jar",
"c:\\hive\\commons-logging-1.1.3.jar",
"c:\\hive\\hive-exec-1.0.0.jar",
"c:\\hive\\hive-jdbc-1.0.0.jar",
"c:\\hive\\hive-metastore-1.0.0.jar",
"c:\\hive\\hive-service-1.0.0.jar",
"c:\\hive\\libfb303-0.9.0.jar",
"c:\\hive\\log4j-1.2.16.jar",
"c:\\hive\\slf4j-api-1.7.5.jar",
"c:\\hive\\slf4j-log4j12-1.7.5.jar",
"c:\\hive\\httpclient-4.2.5.jar",
"c:\\hive\\httpmime-4.2.5.jar",
"c:\\hive\\httpcore-4.2.5.jar"
)
.jinit(classpath=cp) 

drv <- JDBC("org.apache.hive.jdbc.HiveDriver", "c:\\hive\\hive-jdbc-1.0.0.jar")
conn <- dbConnect(drv, "jdbc:hive2://10.100.88.221:10000/default")

dbGetQuery(conn, "select * from app_info")

#hive에 query 날릴때는 tab 문자에 주의해야 한다.
#r-studio 같은데서 자동으로 들여쓰기 기능이 있으면 특히 tab 문자에 주의해야 한다.
#sql문장 끝에 세미콜론(;)을 붙여도 안된다.
dbGetQuery(conn, "select
      substring(dt, 1, 8) dt
,     sum(val) val
from test_table               
group by
    substring(dt, 1, 8) 
order by dt
")

2 tajo JDBC 연동 #

0.10.0 버전까지도 쓰기엔 너무 버그가 많다. 언제 1.x 버전되나~
library("RJDBC")
cp <- c( 
"c:\\jdbc3\\commons-cli-1.2.jar",
"c:\\jdbc3\\commons-configuration-1.6.jar",
"c:\\jdbc3\\commons-lang-2.6.jar",
"c:\\jdbc3\\commons-logging-1.1.1.jar",
"c:\\jdbc3\\guava-11.0.2.jar",
"c:\\jdbc3\\hadoop-annotations-2.5.1.jar",
"c:\\jdbc3\\hadoop-auth-2.5.1.jar",
"c:\\jdbc3\\hadoop-common-2.5.1.jar",
"c:\\jdbc3\\hadoop-hdfs-2.5.1.jar",
"c:\\jdbc3\\joda-time-2.3.jar",
"c:\\jdbc3\\log4j-1.2.17.jar",
"c:\\jdbc3\\log4j-over-slf4j-1.7.5.jar",
"c:\\jdbc3\\netty-3.6.6.Final.jar",
"c:\\jdbc3\\protobuf-java-2.5.0.jar",
"c:\\jdbc3\\slf4j-api-1.7.10.jar",
"c:\\jdbc3\\tajo-algebra-0.10.0.jar",
"c:\\jdbc3\\tajo-catalog-client-0.10.0.jar",
"c:\\jdbc3\\tajo-catalog-common-0.10.0.jar",
"c:\\jdbc3\\tajo-catalog-server-0.10.0.jar",
"c:\\jdbc3\\tajo-cli-0.10.0.jar",
"c:\\jdbc3\\tajo-client-0.10.0.jar",
"c:\\jdbc3\\tajo-common-0.10.0.jar",
"c:\\jdbc3\\tajo-core-0.10.0.jar",
"c:\\jdbc3\\tajo-plan-0.10.0.jar",
"c:\\jdbc3\\tajo-pullserver-0.10.0.jar",
"c:\\jdbc3\\tajo-rpc-0.10.0.jar",
"c:\\jdbc3\\tajo-storage-common-0.10.0.jar",
"c:\\jdbc3\\tajo-storage-hbase-0.10.0.jar",
"c:\\jdbc3\\tajo-storage-hdfs-0.10.0.jar")
.jinit(classpath=cp) 

drv <- JDBC("org.apache.tajo.jdbc.TajoDriver", "c:\\jdbc3\\tajo-jdbc-0.10.0.jar")
conn <- dbConnect(drv, "jdbc:tajo://192.168.0.100:26002/default")

dbGetQuery(conn, "select * from test limit 10")

댓글 남기기..
이름: : 오른쪽의 새로고침을 클릭해 주세요. 새로고침
EditText : Print : Mobile : FindPage : DeletePage : LikePages : Powered by MoniWiki : Last modified 2018-04-13 23:12:54

현명해지는 길이요? 그거요. 간단한 일이죠. 실수하고 또 실수하고 다시 또 실수하더라도 조금만 덜 다시 조금만 덜 다시 또 조금만 덜 실수해 나가면 되는 거죠. <파이어트 하인의 (Grooks 1) 중에서>