我在Redshift中存储了粒度数据。我想要定期创建聚合表。我正在寻求使用AWS Data Pipeline来实现这一目标。
让我们谈谈我有一张所有航班的表格。我想生成一张机场表和来自那里的航班数量。但是因为这个表很大(也许我想加入其他表中的东西),而不是在每个地方写出这个聚合,我决定从它构建一个派生表。
我设置了数据管道。它看起来像是
它在Create Table Sql
字段
CREATE TABLE IF NOT EXISTS data.airports (
airport_id int not null
,flights int null);
我可以保存它(没有错误),但是在我激活之后,该表永远不会出现。我已经检查了所涉及的(少数)参数,但没有什么突出显然是错误的。即使这样,我调整了一些但仍然没有表格。
我应该开始寻找什么?
答案 0 :(得分:1)
要查看的第一个地方是数据管道,以确保那里没有错误。 (我认为你已经完成了这一步)
您现在应该检查已在redshift上运行的sql / load命令,以确保有一些按预期运行,并且它们已成功。
为此,一种简单的方法是在aws控制台中打开您的群集。从那里你可以点击标签" Queries"看到运行的sql" Loads"查看已运行的复制命令等。
也可以通过运行而不使用aws来查看相同的详细信息 对于查询:
select query, trim(querytxt) as sqlquery
from stl_query
order by query desc limit 50;
用于加载,以查看最近加载的错误
select d.query, substring(d.filename,14,20),
d.line_number as line,
substring(d.value,1,16) as value,
substring(le.err_reason,1,48) as err_reason
from stl_loaderror_detail d, stl_load_errors le
where d.query = le.query
and d.query = pg_last_copy_id();