1

首先我去创建流:

CREATE STREAM raw_searches_total
(
  stamp text,
  searches integer
);

我懂了:

CREATE STREAM

美好的。然后我创建如下连续视图:

CREATE CONTINUOUS VIEW searches_total_10min AS
SELECT
  substring(stamp from 0 for 16) || '0:00' AS stamp,
  sum(searches) AS searches
FROM raw_searches_total GROUP BY stamp;

管道向我展示:

CREATE CONTINUOUS VIEW

我将其解释为“OK”并继续,我尝试手动将数据插入到我的流中:

INSERT INTO raw_searches_total (stamp, searches) VALUES ('2015-08-26 21:00:00', 200);

它给了我:

INSERT 0 1

我用谷歌搜索这是什么意思,发现 0 是某种 ID,而 1 是插入了多少行的实际计数。好的,好的,那我最后查询我的连续视图:

SELECT * FROM searches_total_10min;

突然我得到:

 stamp | searches
-------+----------
(0 rows)

所以,问题是:我的数据在哪里?

令我惊讶的是,这将是关于带有pipelinedb标签的 stackoverflow 的第一个问题。

4

1 回答 1

0

我是 PipelineDB 工程师之一,我确实为这里的挂断道歉。看来问题是 raw_searches_total在连续视图中使用 's 列名之一作为别名的结果。特别是,stamp被多次使用,我们承认没有像我们应该的那样处理冗余。

您可以尝试使用更独特的东西来为连续视图的列起别名吗?例如:

CREATE CONTINUOUS VIEW searches_total_10min AS
SELECT
  substring(stamp from 0 for 16) || '0:00' AS truncated_stamp,
  sum(searches) AS searches
FROM raw_searches_total GROUP BY truncated_stamp;
于 2015-08-27T05:22:39.277 回答