spark读取oracle java,通过jdbc读取OBIEE数据--Spark示例

最近在用Spark同步数据的时候想到,是否可以直接从已有的OBIEE读取数据,OBIEE上面有完整的语义层,读取数据就比较方便了.

我先测试了 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下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值