在AWS Data Pipeline

时间:2016-10-18 22:58:04

标签: aggregate amazon-redshift amazon-data-pipeline

我在Redshift中存储了粒度数据。我想要定期创建聚合表。我正在寻求使用AWS Data Pipeline来实现这一目标。

让我们谈谈我有一张所有航班的表格。我想生成一张机场表和来自那里的航班数量。但是因为这个表很大(也许我想加入其他表中的东西),而不是在每个地方写出这个聚合,我决定从它构建一个派生表。

我设置了数据管道。它看起来像是

enter image description here

它在Create Table Sql字段

中运行此SQL
CREATE TABLE IF NOT EXISTS data.airports (
 airport_id int not null
 ,flights int null);

我可以保存它(没有错误),但是在我激活之后,该表永远不会出现。我已经检查了所涉及的(少数)参数,但没有什么突出显然是错误的。即使这样,我调整了一些但仍然没有表格。

我应该开始寻找什么?

1 个答案:

答案 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();