#title JDBC 연동 [[TableOfContents]] ==== 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 ") }}} ==== 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") }}}