经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » R语言 » 查看文章
R链接hive/oracle/mysql
来源:cnblogs  作者:¥启程$  时间:2018/11/9 11:16:27  对本文有异议
  1. LinuxR连接hive用的Rhive
  2. 1,重要
  3. 1sudo R CMD javareconf
  4. 2sudo R
  5. 3, 1+1 是否为2
  6. 3.1,>install.packages("rJava")
  7. >install.packages("Rserve")
  8. >install.packages("RUnit")
  9. 4sudo R CMD INSTALL RHive_0.0-7.tar.gz 或取
  10. 5,install.packages("RJDBC",dep=TRUE)
  11. 6,library(RJDBC)
  12. 6,library(rJava) 有大小写
  13. 7library(RHive)
  14. 8,drv <- JDBC('org.apache.hive.jdbc.HiveDriver',list.files("/home/docker/jarfiles/libss",pattern = "jar$", full.names=TRUE,recursive=TRUE)) jar
  15. 9,conn<- dbConnect(drv, sprintf('jdbc:hive2://192.168.169.101:10000/myhive)) 简化(可加)最好加上库
  16. conn<-dbConnect(drv,sprint(‘jdbc:hive2://%s:%s/default’,'192.168.169.101’,'10000’))
  17. 10,dbGetQuery(conn,'show databases')
  18. 11,dbGetQuery(conn,'show tables') (没有使用库 直接查看表)
  19. Windows:R连接hive用的Rhive
  20. 1,重要 library("rJava")
  21. library("DBI")
  22. library("RJDBC")
  23. library("Rserve")
  24. 2,非常重要:以次执行每一行 ******
  25. .jinit();
  26. for(l in list.files('C:/mysoft/Rhive/uselib/')){ .jaddClassPath(paste("C:/mysoft/Rhive/uselib/",l,sep=""))};
  27. .jclassPath();
  28. 3,drv <- JDBC("org.apache.hive.jdbc.HiveDriver","C:/mysoft/Rhive/uselib/hive-jdbc.jar",identifier.quote="`");
  29. 注:在你自定义的文件夹中找到hive-jdbc.jar ,在.jclassPath(); 执行中可以找到
  30. 4,conn <- dbConnect(drv, "jdbc:hive2://192.168.169.101:10000/myhive");
  31. 注:如果你已经打开hive2,不用密码 最好加上你自己的库 myhive
  32. 5,以上执行完成,不出错,说明已经连接成功
  33. 6,dbGetQuery(con,"show databases") 注意:必须有dbGetQuery(con,"") (没有使用库user myshive 可直接查看表)
  34. R连接Oracle用的ROracle
  35. 1,重要 安装一个Oracle 注意:win10 用户名不能为汉字,否则不能成功 Oracle官网下载12c
  36. 2,library(RJDBC)
  37. library(DBI)
  38. library(rJava)
  39. 注:没有在R环境中安装 install.packages()
  40. 3,下载一个ROracle 注意:要手动加载包安装 再安装
  41. 4,install.packages("ROracle") 注:这步问题非常大,具体问题具体分析,没有最好
  42. 5,library("ROracle", lib.loc="~/R/win-library/3.5")
  43. 6,drv<-dbDriver("Oracle")
  44. 7,connect.string<-"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME = datacent)))" 注意:HOST
  45. 8,con<-dbConnect(drv,username="system",password="root") 注意:system 和 口令(密码) 安装一个Oracle时候自己设定的,
  46. 9,以上都链接通过,说明已经通了
  47. 10,dbGetQuery(con,"select * from rtest") 注意:必须有dbGetQuery(con,"") SQL语句写在引号内, 没有show databases,或者show tables
  48. 11,完结
  49. DaiMler电脑连接
  50. sudo docker images 查看所有原有docker
  51. sudo docker ps 查看已启动的docker
  52. sudo docker start 3003 (stop , docker ps - a (all))
  53. sudo docker run -it -d --name 3003 tomcat:lastest 镜像 原docker (复制一个)
  54. docker run --name 3002 -p 3002:8080
  55. -v /usr/local/dockerTomcatColdtest/webapps:/usr/local/tomcat/webapps
  56. -v /usr/local/dockerTomcatColdtest/logs:/usr/local/tomcat/logs
  57. -d tomcat
  58. docker(help)
  59. sudo docker exec -it 3003 bash 启动docker
  60. R
  61. 1,先cp到docker中 sudo docker cp ... 3004:/tmp
  62. ls /tmp
  63. linux上安装ROracle
  64. 1,下载ROracle
  65. 2,查看默认安装路径
  66. rpm -qpl oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
  67. rpm -qpl oracle-instantclient11.2-sqlplus-11.2.0.3.0-1. x86_64.rpm
  68. rpm -qpl oracle-instantclient11.2-devel-11.2.0.3.0-1. x86_64.rpm
  69. 3,安装 使用如下命令进行安装:18.3
  70. rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
  71. rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.3.0-1. x86_64.rpm
  72. rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1. x86_64.rpm
  73. Daimler 链接Oracle
  74. 依赖,如果没有下载安装调试
  75. library("rJava")
  76. library("DBI")
  77. library("RJDBC")
  78. 按windows思路来安装
  79. drv<-JDBC("oracle.jdbc.driver.OracleDriver","/home/zip/instantclient_11_2/ojdbc6.jar", identifier.quote="\"")
  80. conn <- dbConnect(drv, "jdbc:oracle:thin:@53.125.51.94:15016:ORCLDLA","A133_a_smartqcold1","a_bbac:Daimler@DL(Smartq$")
  81. data(iris) Oracle注意大小写,有大小写之分*********
  82. RJDBC常用函数:
  83. 1、 JDBC(驱动,jar包,分隔符):加载数据库驱动
  84. 2、 dbConnect(驱动参数,url,用户名,密码,其他):连接数据库
  85. 3、 dbListTables(conn):显示连接中的所有表
  86. 4、 dbWriteTable(conn, "iris", iris, overwrite=TRUE):将数据框iris写入表iris中,overwrite覆盖原表
  87. (append=TRUE追加,dbWriteTable(conn, "IRIS", d, overwrite=FALSE,append=TRUE)且d要与表iris的结构一致。)
  88. 5、 dbGetQuery(conn, "select count(*) from iris"):查询语句
  89. 6、 dbSendUpdate(conn,”sql语句”):执行任何非查询sql语句
  90. 7、 dbReadTable(conn, "iris"):读取表中数据
  91. 8、 dbDisconnect(conn):关闭连接
  92. 9、 dbExistsTable(conn,”iris”):是否存在表iris
  93. 10、 dbRemoveTable(conn,”iris”):删除表iris

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号