让大数据分析更简单,4步教你玩转MongoDB BI Connector
MongoDB使用BI Connector支持BI組件直接使用SQL或ODBC數據源方式直接訪問MongoDB,在早期MongoDB直接使用Postgresql FDW實現 SQL到MQL的轉換,后來實現更加輕量級的mongosqld支持BI工具的連接。
安裝 BI Connector
參考?Install BI Connector
https://docs.mongodb.com/bi-connector/master/installation/
- mongosqld 接受 SQL 查詢,并將請求發到 MongoDB Server,是 BI Connector 的核心
- mongodrdl 工具生成數據庫 schema 信息,用于服務 BI SQL 查詢
- mongotranslate 工具將 SQL 查詢轉換為 MongoDB Aggregation Pipeline
啟動 mongosqld
參考 Lauch BI Connector
https://docs.mongodb.com/bi-connector/current/launch/
--addr 指定 mongosqld 監聽的地址
--mongo-uri 指定連接的 MongoDB Server 地址
默認情況下,mongosqld 自動會分析目標 MongoDB Server 里數據的 Schema,并緩存在內存,我們也可以直接在啟動時指定 schema 影射關系。schema 也可以直接 mongodrdl 工具來生成,指定集合,可以將集合里的字段 shema 信息導出。
使用 MySQL 客戶端連接 mongosqld
mongosqld 可直接支持 MySQL 客戶端訪問,還可以通過 Excel、Access、Tableau等BI工具連接
https://docs.mongodb.com/bi-connector/current/client-applications/
SQL 轉 Aggregation
比如要將針對 test.coll01 的 SQL 查詢轉換為 MongoDB Aggregation Pipeline,需要先通過 mongodrdl 分析 schema,然后使用 mongotranslate 工具來轉換
// 導出分析的 shema 文件 $./bin/mongodrdl --uri=mongodb://127.0.0.1:9555/test -c coll01 > coll01.schema // SQL 轉換為 Aggregation $./bin/mongotranslate --query "select * from test.coll01" --schema coll01.schema [{"$project": {"test_DOT_coll01_DOT__id": "$_id","test_DOT_coll01_DOT_qty": "$qty","test_DOT_coll01_DOT_type": "$type","_id": NumberInt("0")}}, ]雙12來襲!500元淘寶紅包、iPhone11等你拿。
https://www.aliyun.com/1212/2019/home?utm_content=g_1000092611
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的让大数据分析更简单,4步教你玩转MongoDB BI Connector的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BDS-HA:构建高可用、低延迟的HBa
- 下一篇: 小谈CDN回源函数计算的应用场景