【问题标题】:Create aggregate table in AWS Data Pipeline在 AWS Data Pipeline 中创建聚合表
【发布时间】:2023-03-31 20:20:01
【问题描述】:

我在 Redshift 中存储了粒度数据。我想要一个定期创建的聚合表。我正在寻求使用 AWS Data Pipeline 来执行此操作。

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

我设置了我的数据管道。好像是这样

它正在Create Table Sql 字段中运行此 SQL

CREATE TABLE IF NOT EXISTS data.airports (
 airport_id int not null
 ,flights int null);

我可以保存它(没有错误),但是在我激活它之后,该表永远不会出现。我检查了所涉及的(少数)参数,但没有什么明显错误的。尽管如此,我调整了一些,但仍然没有表。

我应该开始寻找什么?

【问题讨论】:

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


    【解决方案1】:

    首先要查看数据管道,以确保其中没有错误。 (我想你已经完成了这一步)

    您现在应该检查已在 redshift 上运行的 sql / load 命令,以确保其中有一些如预期的那样,并且它们已成功。

    为此,一种简单的方法是在 aws 控制台中打开您的集群。从那里您可以单击“查询”选项卡以查看已运行的 sql,并单击“加载”以查看已运行的复制命令等。

    也可以在不使用 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(); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多