使用mysql外部数据包装器的PIpelineDB连续视图
当我在外部表上完成流连接时,与将连续视图连接到外部表时,得到的结果不同。我认为相同的两个查询似乎不同。本地管道实例与fdw中的表之间的延迟是否会对连续流联接产生影响?我正在尝试聚合外部选项卡上id上的rx_字节和tx_字节 我正在使用最新版本的mysql_fdw使用mysql外部数据包装器的PIpelineDB连续视图,mysql,postgresql,join,postgres-fdw,pipelinedb,Mysql,Postgresql,Join,Postgres Fdw,Pipelinedb,当我在外部表上完成流连接时,与将连续视图连接到外部表时,得到的结果不同。我认为相同的两个查询似乎不同。本地管道实例与fdw中的表之间的延迟是否会对连续流联接产生影响?我正在尝试聚合外部选项卡上id上的rx_字节和tx_字节 我正在使用最新版本的mysql_fdw 创建外部表 CREATE EXTENSION mysql_fdw; CREATE SERVER local_mysql FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host 'lo
CREATE EXTENSION mysql_fdw;
CREATE SERVER local_mysql
FOREIGN DATA WRAPPER mysql_fdw
OPTIONS (host 'localhost', port '3306', secure_auth 'true');
CREATE USER MAPPING FOR pipeline
SERVER local_mysql
OPTIONS(username 'username', password 'password');
CREATE FOREIGN TABLE "foo_instance" (
"id" bigint,
"foo_id" bigint,
)
SERVERlocal_mysql
OPTIONS(dbname 'schema', table_name 'foo_instance');
显然,结果不一样。我可以从连续视图连接到外部表,但更愿意使用流连接。有趣的是,找到任何解决方案。。。?
CREATE CONTINUOUS VIEW total_bytes
AS SELECT date_trunc('minute', time_stamp::timestamp) AS minute,
id::integer,
sum(tx_bytes::bigint) AS tx_bytes,
sum(rx_bytes::bigint) AS rx_bytes
FROM byte_count_stream GROUP BY minute, id;
SELECT minute, sum(tx_bytes) AS tx_bytes, sum(rx_bytes) AS rx_bytes, foo_id
FROM total_bytes JOIN foo_instance
ON total_bytes.id=foo_instance.id GROUP BY minute, foo_instance.foo_id;
minute | tx_bytes | rx_bytes | foo_id
---------------------+----------+----------+---------
2016-02-22 09:04:00 | 450 | 513 | 7939
2016-02-22 09:04:00 | 2762 | 2210 | 7940
2016-02-22 09:04:00 | 143 | 332 | 7941
2016-02-22 09:04:00 | 371 | 1042 | 7942
2016-02-22 09:04:00 | 865 | 987 | 7943
(5 rows)
CREATE CONTINUOUS VIEW joined_foo_total_bytes
AS SELECT date_trunc('minute', byte_count_stream.time_stamp::timestamp) AS minute,
sum(byte_count_stream.tx_bytes::bigint) AS tx_bytes,
sum(byte_count_stream.rx_bytes::bigint) AS rx_bytes,
foo_instance.foo_id
FROM byte_count_stream JOIN foo_instance ON byte_count_stream.id::integer = foo_instance.id
GROUP BY minute, foo_instance.foo_id;
pipeline=# select * from joined_user_total_bytes;
minute | tx_bytes | rx_bytes | foo_id
---------------------+----------+----------+---------
2016-02-22 09:04:00 | 371 | 1042 | 7942
2016-02-22 09:04:00 | 143 | 332 | 7941
2016-02-22 09:04:00 | 865 | 987 | 7943
2016-02-22 09:04:00 | 2762 | 2210 | 7940
(4 rows)