• R链接hive/oracle/mysql


    Linux:R连接hive用的Rhive
    
    1,重要
    		1,sudo R CMD javareconf
    		2,sudo R
    		3, 1+1    是否为2
    			3.1,>install.packages("rJava")
    				 >install.packages("Rserve")
    				 >install.packages("RUnit")
    				 
    		4,sudo R CMD INSTALL RHive_0.0-7.tar.gz    或取
    		5,install.packages("RJDBC",dep=TRUE)
    		6,library(RJDBC)
    		6,library(rJava)   有大小写
    		7,library(RHive)
    		8,drv <- JDBC('org.apache.hive.jdbc.HiveDriver',list.files("/home/docker/jarfiles/libss",pattern = "jar$", full.names=TRUE,recursive=TRUE))    jar包
    		9,conn<- dbConnect(drv, sprintf('jdbc:hive2://192.168.169.101:10000/myhive))   简化(可加)最好加上库  
    																			conn<-dbConnect(drv,sprint(‘jdbc:hive2://%s:%s/default’,'192.168.169.101’,'10000’))
    		
    		10,dbGetQuery(conn,'show databases')
    		11,dbGetQuery(conn,'show tables')      (没有使用库  直接查看表)
    	
    	 
    Windows:R连接hive用的Rhive
    		1,重要 library("rJava")
    				library("DBI")
    				library("RJDBC")
    				library("Rserve")
    		2,非常重要:以次执行每一行 ******
    			.jinit();
    			for(l in list.files('C:/mysoft/Rhive/uselib/')){ .jaddClassPath(paste("C:/mysoft/Rhive/uselib/",l,sep=""))};
    			.jclassPath();
    		3,drv <- JDBC("org.apache.hive.jdbc.HiveDriver","C:/mysoft/Rhive/uselib/hive-jdbc.jar",identifier.quote="`");
    			注:在你自定义的文件夹中找到hive-jdbc.jar ,在.jclassPath(); 执行中可以找到
    		4,conn <- dbConnect(drv, "jdbc:hive2://192.168.169.101:10000/myhive"); 
    			注:如果你已经打开hive2,不用密码  最好加上你自己的库 myhive
    		5,以上执行完成,不出错,说明已经连接成功
    		6,dbGetQuery(con,"show databases")    注意:必须有dbGetQuery(con,"")  (没有使用库user myshive  可直接查看表)
    		
    	
    R连接Oracle用的ROracle
    
    		1,重要  安装一个Oracle  注意:win10 用户名不能为汉字,否则不能成功 Oracle官网下载12c
    		
    		2,library(RJDBC)
    	       library(DBI)
    		   library(rJava)
    		   注:没有在R环境中安装 install.packages()
    		3,下载一个ROracle   注意:要手动加载包安装 再安装
    		4,install.packages("ROracle") 注:这步问题非常大,具体问题具体分析,没有最好
    		5,library("ROracle", lib.loc="~/R/win-library/3.5")  
    		6,drv<-dbDriver("Oracle")
    		7,connect.string<-"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME = datacent)))"  注意:HOST
            8,con<-dbConnect(drv,username="system",password="root")  注意:system  和 口令(密码)  安装一个Oracle时候自己设定的,
    		9,以上都链接通过,说明已经通了
    		10,dbGetQuery(con,"select * from rtest")    注意:必须有dbGetQuery(con,"")  SQL语句写在引号内, 没有show databases,或者show tables
    		11,完结
    		
    DaiMler电脑连接 
    
    			sudo docker images   查看所有原有docker 
    
    			sudo docker ps		查看已启动的docker
    
    			sudo docker start 3003 (stop , docker ps - a (all))
    
    			sudo docker run -it -d --name 3003 tomcat:lastest  镜像 原docker (复制一个)
    			
    			
    			docker run --name 3002 -p 3002:8080 
    			-v /usr/local/dockerTomcatColdtest/webapps:/usr/local/tomcat/webapps 
    			-v /usr/local/dockerTomcatColdtest/logs:/usr/local/tomcat/logs 
    			-d tomcat
    
    			
    			docker(help)
    
    			sudo docker exec -it 3003 bash   启动docker
    
    			R
    			1,先cp到docker中 sudo docker cp ... 3004:/tmp
    			ls /tmp
    linux上安装ROracle
    		
    		1,下载ROracle
    		
    		2,查看默认安装路径
    		rpm -qpl oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
    		rpm -qpl oracle-instantclient11.2-sqlplus-11.2.0.3.0-1. x86_64.rpm
    		rpm -qpl oracle-instantclient11.2-devel-11.2.0.3.0-1. x86_64.rpm
    
    		3,安装		使用如下命令进行安装:18.3
    
    		rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
    		rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.3.0-1. x86_64.rpm
    		rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1. x86_64.rpm
    		
    Daimler 链接Oracle
    
    			依赖,如果没有下载安装调试
    			library("rJava")
    			library("DBI")
    			library("RJDBC")
    			按windows思路来安装
    			drv<-JDBC("oracle.jdbc.driver.OracleDriver","/home/zip/instantclient_11_2/ojdbc6.jar", identifier.quote=""") 
    			conn <- dbConnect(drv, "jdbc:oracle:thin:@53.125.51.94:15016:ORCLDLA","A133_a_smartqcold1","a_bbac:Daimler@DL(Smartq$")
    			
    			data(iris)    Oracle注意大小写,有大小写之分*********
    			
    			RJDBC常用函数:
    			1、  JDBC(驱动,jar包,分隔符):加载数据库驱动
    			2、  dbConnect(驱动参数,url,用户名,密码,其他):连接数据库
    			3、  dbListTables(conn):显示连接中的所有表
    			4、  dbWriteTable(conn, "iris", iris, overwrite=TRUE):将数据框iris写入表iris中,overwrite覆盖原表
    			(append=TRUE追加,dbWriteTable(conn, "IRIS", d, overwrite=FALSE,append=TRUE)且d要与表iris的结构一致。)
    			5、  dbGetQuery(conn, "select count(*) from iris"):查询语句
    			6、  dbSendUpdate(conn,”sql语句”):执行任何非查询sql语句
    			7、  dbReadTable(conn, "iris"):读取表中数据
    			8、  dbDisconnect(conn):关闭连接
    			9、  dbExistsTable(conn,”iris”):是否存在表iris
    			10、 dbRemoveTable(conn,”iris”):删除表iris
    
     
    

     

  • 相关阅读:
    Netty NioEventLoop 源码解析(运行相关)
    挖矿病毒的回溯(稍后补充,原来是自己傻逼了)
    关于centos后台执行的坑
    记录编写TS的一些想法
    webstorm永久激活
    PCL学习笔记(六):ubuntu下QT配置PCL
    PCL学习笔记(二)、PCL编码风格
    PCL学习笔记(三):PCL的点类型
    PCL学习笔记(四):PCD文件格式
    PCL学习笔记(五):PCD文件的IO操作
  • 原文地址:https://www.cnblogs.com/Bread-Wang/p/9928937.html
Copyright © 2020-2023  润新知