hive连接mongodb如何断开tcp连接_BIRT 如何连接 MongoDB

我就是我 2022-10-27 12:24 268阅读 0赞

导读关键词:BIRT MongoDB JDBC
MongoDB 不同于 Oracle,MYSQL 这些关系数据库,没有提供 JDBC 连接,查询语言也不是 SQL 了,换成了一套有些复杂的脚本语言。
BIRT 里怎么连 MongoDB 呢,通常是这两种方式:
1、 新建 Scripted Data Source,然后定义它的数据集,通过 open、fetch 事件里写 javascript 脚本,调用 Mongo Java Driver 从 MongoDB 取数。
2、 后来 BIRT 增加了专门的 MongoDB Data Source 类型的数据源,这样就有了专用的 MongoDB 数据集定义界面,简单的查询免去了写 MongoDB 脚本的麻烦,但对分组聚合、JOIN 关联仍然无能为力。
那有没有 MongoDB 的 JDBC 呢?集算器JDBC给出了第三种连接方式,下面以两表join为例简单说明一下:
1、编写集算器的SPL脚本,存储为c1c2Join.dfx文件
A 1 =mongo_open(“mongodb://127.0.0.1:27017/raqdb”) 2 =mongo_shell(A1,”c1.find()”).fetch() 3 =mongo_shell(A1,”c2.find()”).fetch() 4 =A2.join(user1:user2,A3:user1:user2,output) 5 >A1.close() 执行结果为:user1 user2 income output 1 2 0.56 0.3 1 3 0.26 0.4 同样功能的Mongo脚本是这样:

9fc9f3554468e2506e5f57604cbdd890.png

2、在birt里部署集算器JDBC,然后 JDBC 执行的语句里调用上面文件名就可以了:

4a484e03f8025d67aca2bce180fbffd2.png

其实,BIRT用什么方式来连接MongoDB,并不会有太大的优劣之分,而网友们追问的BIRT怎么查询MongoDB,背后隐含了一个没有明说的难点,应该是在问:BIRT通过什么方式连接MongoDB?连上后又有什么简单的方法能查询数据?MongoDB 的查询脚本太难写了!
集算器提供了更通用的JDBC连接方式,这是个小改善;而SPL脚本因为是完善的集合化查询语言,针对 MongoDB 这种多层嵌套的数据结构,能提供高效的关联、合并、条件、分组聚合、排序等计算能力,这才是一个很大的改进。上述例子摘自玩转 Mongo 计算。
SPL能很方便地嵌入到JAVA应用,可参考《Java 如何调用 SPL 脚本》。
具体使用方法可参考 《如何使用集算器》。

fe912de9c2bda951381b53c28e336638.png

发表评论

表情:
评论列表 (有 0 条评论,268人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Tcp 断开连接

    TCP状态转移要点      TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源

    相关 node 连接MongoDB

    MongoDB Node.js驱动程序是被官方所支持的原生Node.js驱动程序,他是至今为止最好的实现, 并且得到了MongoDB官方的支持。MongoDB团队已经采用Mon

    相关 如何连接远程MongoDB数据库

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。[点这里可以跳转到教程][Li