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

 

 


作者:¥启程$,发布于:2018/11/09
原文:https://www.cnblogs.com/Bread-Wang/p/9928937.html