最近在用Spark同步数据的时候想到,是否可以直接从已有的OBIEE读取数据,OBIEE上面有完整的语义层,读取数据就比较方便了.
想到以前Rittmanmead有篇blog提到,如何使用jdbc驱动清除缓存的功能( https://www.rittmanmead.com/blog/2015/09/managing-the-obiee-bi-server-cache-from-odi-12c/ ),里面提到参考这个 https://blogs.oracle.com/dataintegration/entry/connecting_to_oracle_bi_server
我先测试了 10.1.3.4.1的版本,
jdbc位置在$obieefolder/OracleBI/jdbc/bijdbc.jar
可以使用以下命令测试
java -classpath $obieefolder/OracleBI/jdbc/bijdbc.jar oracle.bi.jdbctestclient.JDBCCmd -u "jdbc:oraclebi://hostip:9703/catalog=edw_kpi;USER=administrator;PASSWORD=password;" -s $HOME/test/obieejdbcsrc/ -o $HOME/test/obieejdbcout
注意-s $HOME/test/obieejdbcsrc/是目录,目录下是需要执行的 sql 脚本,可以多个,对应输出到-o 的目录里面
这个要吐槽一下11g的jdbc,里面README文件都没有了,开始url我始终写不对,看了10的版本中的README才搞定。
然后在spark也测试了一下,类似如下写法就可以了(我在Zepplin运行)
%spark.pyspark execsql = 'SELECT "table1"."column1" saw_0, "table2"."column1" saw_1 FROM KPI \ WHERE "table1"."column1" >= \'2017\' ORDER BY saw_0' jdbcDF_onvctrl = spark.read \ .format("jdbc") \ .option("driver", "oracle.bi.jdbc.AnaJdbcDriver")\ .option("url", "jdbc:oraclebi://hostip:9703/catalog=kpi;USER=administrator;PASSWORD=password;") \ .option("dbtable","(" + execsql + ") AS TEMP") \ .load() jdbcDF_onvctrl.write.saveAsTable("testdb.seng_day")
也可以在Zepplin中配置jdbc连接用于观察数据,增加obiee10g for jdbc配置如下属性
default.driver oracle.bi.jdbc.AnaJdbcDriver default.password *** default.url jdbc:oraclebi://ip:9703/catalog=kpi; default.user administrator Dependencies
注意artifact exclude下配置jar包
/pythontest/jars/bijdbc.jar
如果在已有的note要使用, 需要Interpreter binding下。
本文由seng 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python编程
[美]埃里克·马瑟斯 / 袁国忠 / 人民邮电出版社 / 2016-7-1 / CNY 89.00
本书是一本针对所有层次的Python 读者而作的Python 入门书。全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图......一起来看看 《Python编程》 这本书的介绍吧!