JDBC实现从Hive抽取数据导入Oracle
生活随笔
收集整理的這篇文章主要介紹了
JDBC实现从Hive抽取数据导入Oracle
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
環(huán)境:浙江移動華為云平臺
云平臺大數(shù)據(jù)采用了?Kerberos 認(rèn)證。
開發(fā)歷程:
1、在寧波大數(shù)據(jù)實驗環(huán)境測試通過了JDBC實現(xiàn)從Hive抽取數(shù)據(jù)導(dǎo)入Oracle功能。
2、通過查看其它項目的數(shù)據(jù)庫訪問配置,知道了云平臺上的oracle配置。
3、獲取hive的jdbc訪問配置。但是無人知道,說保密不告知。
但是方法還是有的,從訪問前source的shell文件里,找到了眉目。
[deepen@vd26wyjl01 ~]$ cat login.sh source /app/deepen/jc_client/bigdata_env export KRB5CCNAME=/app/deepen/user_keytab/jc_deepen.cc kinit -kt /app/deepen/user_keytab/user.keytab jc_deepen klist
通過辛苦的調(diào)配后,最后的配置如下:
ORACLE_DRIVER=oracle.jdbc.driver.OracleDriver ORACLE_URL=xxxxxx ORACLE_UserName =xxxx ORACLE_PassWord =xxxx
核心代碼:
// 創(chuàng)建連接private Connection getConnnection() throws Exception {/** 使用Hadoop安全登錄 **/org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration();conf.set("hadoop.security.authentication", "Kerberos");//System.setProperty("java.security.krb5.conf", "/app/deepen/user_keytab/krb5.conf");System.setProperty("java.security.krb5.conf", krb5_conf);try {UserGroupInformation.setConfiguration(conf);//UserGroupInformation.loginUserFromKeytab("hive/hadoop.hadoop.com@HADOOP.COM", "/app/deepen/user_keytab/user.keytab");UserGroupInformation.loginUserFromKeytab(user, krb5_Keytab);} catch (IOException e1) {e1.printStackTrace();}Class.forName(driverName);Connection conn = DriverManager.getConnection(url);System.out.println("#####獲取Kerberos-Hive-conn成功:---"+conn.toString());return conn;}
總結(jié)
以上是生活随笔為你收集整理的JDBC实现从Hive抽取数据导入Oracle的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL在DOS指令里面的使用以及增删
- 下一篇: Maven基础及概念