0

我在自己的 ec2 实例上有两个 mysql 数据库。每个数据库在模式“产品”下都有一个表“报告”。我使用爬虫将表模式获取到名为 db1 的数据库中的 aws 胶水数据目录中。然后我使用 aws 胶将表从 ec2 实例复制到 s3 存储桶中。然后我用红移查询表。我在查询编辑器中使用下面的脚本将外部模式从 aws 爬虫获取到红移。我想将这两个表合并到一个表中,并添加一个带有标志的“源”列,以指示每条记录来自的原始表。有谁知道在 etl 过程中是否可以使用 aws 胶水来做到这一点?或者你能建议另一种解决方案吗?我知道我可以在 redshift 中将它们与 sql 联合,但我的最终目标是创建一个 etl 管道,在它到达 redshift 之前执行此操作。

脚本:

create external schema schema1 from data catalog 
database ‘db1’ 
iam_role 'arn:aws:iam::228276743211:role/madeup’
region 'us-west-2';
4

1 回答 1

1

您可以使用 Athena 创建一个合并 2 个表的视图,然后该视图将在 Redshift Spectrum 中可用。

CREATE OR REPLACE VIEW db1.combined_view AS
SELECT col1,cole2,col3 from db1.mysql_table_1
union all 
SELECT col1,cole2,col3 from db1.mysql_table_2
;

使用 Athena(不是 Redshift)运行上述内容

于 2019-06-20T06:41:27.217 回答