Tableau Desktop 是基于斯坦福大学突破性技术的软件应用程序。它帮助您生动地分析实际存在的任何结构化数据,以在几分钟内生成美观的图表、坐标图、仪表盘与报告。利用 Tableau 简便的拖放式界面,您可以自定义视图、布局、形状、颜色等等,帮助您展现自己的数据视角。
Tableau Desktop虽然可以连接各种数据库,但是并不能直接连接MongoDB,需要借助MongoDB Connector for BI。
准备篇
首先下载并安装好MongoDB Connector for BI,安装好后我们会得到以下四个文件,等会我们将会用到。
在Tableau Desktop连接MongoDB BI时,还需要使用ssl才能正常连接,不然会出现
handshake error: ERROR 1759 (HY000): ssl is required when using cleartext authentication
所以我们还需要生成一个自签证书,登录到安装有openssl工具的服务器,输入以下命令,即可生成所需的证书
openssl req -nodes -newkey rsa:2048 -keyout mongodb-bi.key -out mongodb-bi.crt -x509 -days 365 -subj "/C=CN/ST=test/L=test/O=test Security/OU=IT Department/CN=abc.com"
cat mongodb-bi.crt mongodb-bi.key > mongodb-bi.pem
然后自行保存mongodb-bi.crt、mongodb-bi.pem文件到本机。
使用篇
打开cmd并cd到MognodDB BI的bin目录下,输入
mongosqld.exe --mongo-uri "mongodb://127.0.0.1:27017/?connect=direct" --auth --mongo-username test --mongo-password test --mongo-authenticationSource test --sslMode allowSSL --sslPEMKeyFile C:\Data\mongodb-bi.pem
参数数释:
- --mongo-uri :MongoDB数据库地址
- --mongo-username:MongoDB用户名
- --mongo-password:MongoDB密码
- --mongo-authenticationSource:身份验证数据库名称
- --sslPEMKeyFile:ssl私钥绝对路径
详细参数解释请访问docs.mongodb.com/bi-connecto…查看。
当出现以下日志,就表示Mongodb BI已经运行成功了。
2019-06-26T14:44:21.644+0800 I CONTROL [initandlisten] mongosqld starting: version=v2.11.0 pid=19700 host=CNPC0SHHN0
2019-06-26T14:44:21.701+0800 I CONTROL [initandlisten] git version: fa5c6ea06ca0092ed2f951af5be93c18383e1aa3
2019-06-26T14:44:21.701+0800 I CONTROL [initandlisten] OpenSSL version OpenSSL 1.0.2n-fips 7 Dec 2017 (built with OpenSSL 1.0.2o 27 Mar 2018)
2019-06-26T14:44:21.701+0800 I CONTROL [initandlisten] options: ......
2019-06-26T14:44:21.714+0800 I NETWORK [initandlisten] waiting for connections at 127.0.0.1:3307
2019-06-26T14:44:21.907+0800 I SCHEMA [sampler] sampling MongoDB for schema...
2019-06-26T14:44:31.878+0800 I SCHEMA [sampler] mapped schema for 7 namespaces: ...
接下来我们打开Tableau Desktop并选择连接到MongoDB BI,如图填写相关信息
服务器:因为我们是本地启动的服务,所以填写127.0.0.1
端口:默认端口3307
用户名:MongoDB用户名?source=身份验证数据库名称
密码:MongoDB用户密码
勾选需要SSL,并选择我们生成好的mongodb-bi.crt,点击登录我们就可以看到MongoDB中的数据了。