为 AWS Data Pipeline SqlActivity 指定 Redshift 架构,而不在 sql 脚本的开头添加“set search_path to ...”

Posted

技术标签:

【中文标题】为 AWS Data Pipeline SqlActivity 指定 Redshift 架构,而不在 sql 脚本的开头添加“set search_path to ...”【英文标题】:Specify Redshift schema for AWS Data Pipeline SqlActivity without adding "set search_path to ..." at beginning of sql script 【发布时间】:2017-02-13 21:00:40 【问题描述】:

我正在构建一个 AWS 数据管道,它只是执行一组位于 Redshift EC2Resource 上 s3 上的 sql 脚本。我需要脚本在生产模式而不是测试模式上运行。最好我会在不向每个脚本添加“将 search_path 设置为 schemaname”的情况下执行此操作。我需要类似“连接脚本”功能(例如在 SQL Workbench 中)来执行此操作。有人有想法么?谢谢!

【问题讨论】:

解决方法:我刚刚编写了一个脚本来为每个文件添加“将搜索路径设置为模式名”,然后将其上传到适当的 s3 存储桶 【参考方案1】:

为表格使用 2 个部分名称,即schema.table

COPY my_schema.my_table
FROM 's3://…

如果这是一个 shell 脚本,您可以在调用脚本时替换架构。 FWIW,我们一直这样做。

【讨论】:

以上是关于为 AWS Data Pipeline SqlActivity 指定 Redshift 架构,而不在 sql 脚本的开头添加“set search_path to ...”的主要内容,如果未能解决你的问题,请参考以下文章

AWS Data Pipeline 的默认日期时间

AWS Data Pipeline - 创建定义时出错

什么是 AWS Data Pipeline

使用 Data Pipeline 在 AWS 中进行批处理文件

AWS:通过使用 amazon-data-pipeline 将数据从 S3 传输到 Redshift 来实现除 COPY 之外的其他功能

AWS Data Pipeline 无法验证 S3 访问 [权限警告]