3

我在服务器 122.xxx.xxx.xxx 上有一个 mongodb。mongodb版本是3.4.1。我被要求将实时数据从 MongoDB 汇集到超集 BI 以创建各种仪表板。

我尝试了以下方法:

使用外部数据包装器 mongodb + multicorn + yam_fdw o 在 postgresql 中创建外部表

在 Postgresql 控制台中:

CREATE EXTENSION multicorn;

CREATE SERVER mongodb_proxy_server FOREIGN DATA WRAPPER multicorn OPTIONS (wrapper 'yam_fdw.Yamfdw');

CREATE FOREIGN TABLE event_warnings ( 
"_id" varchar OPTIONS (type 'ObjectId'),
"ID" varchar, "Point" varchar,
"Start_Time" timestamptz, "Stop_Time" timestamptz, "Area" varchar,
"Value" float, "Station" varchar, "Device" varchar, "Warning_Type" varchar,
"Warning_Upper_Limit" float, "Warning_Lower_Limit" float,
"Warning_Method" int
)

SERVER mongodb_proxy_server OPTIONS ( 
db 'XXX', collection 'event_warnings', 
host '122.XXX.XXX.XXX', port '27017', user 'username', password 'password'
);

在超集中

成功加载数据

但是外表只出现在切片部分。在 SQL 实验室选项卡中,

没有出现外部表

任何人都知道如何使外部表出现在 SQL 实验室选项卡中?

操作系统:Mac 64 位

4

1 回答 1

1

另一种解决方案是将您的数据同步到 PostgreSQL 数据库。

我们在这里组装了一个开源平台来做到这一点https://github.com/pajachiet/mongo_sql_analytics_platform

于 2017-11-17T16:01:49.163 回答