我可以在哪里放置 SQL 代码以在 AWS Data Pipeline 中删除表?
Posted
技术标签:
【中文标题】我可以在哪里放置 SQL 代码以在 AWS Data Pipeline 中删除表?【英文标题】:Where am I allowed to put SQL code to drop a table in an AWS Data Pipeline? 【发布时间】:2015-03-25 23:21:48 【问题描述】:我需要添加一些 SQL 代码以将 Redshift 表删除到数据管道中。我可以把它放在一个特定的领域吗?我可以把它放在创建表 SQL 字段中吗?
【问题讨论】:
【参考方案1】:您应该可以为此使用SQL activity。在它的“数据库”字段中附加Redshift Database 并使用“脚本”字段删除所需的表。
示例:
"id" : "mysqlActivity",
"type" : "SqlActivity",
"database" : "ref": "MyRedshiftDatabase" ,
"script" : "... drop table or any arbitrary sql query ... ",
"schedule" : "ref": "Hour" ,
"queue" : "priority"
,
"id" : "MyRedshiftDatabase",
"type" : "RedshiftDatabase",
"clusterId" : "clusterId",
"username" : "user_name",
"*password" : "my_password",
"databaseName" : "database_name"
【讨论】:
是的,我没有看到添加活动的按钮,所以我很困惑将 SQL 代码放在哪里。【参考方案2】:您能否为您的活动添加更多背景信息?
您可以通过 ShellCommandActivity 运行任意命令。
例子:
出错时退出脚本
设置-e
1。安装 PSQL 客户端
sudo yum install postgresql93 -y
2。在Redshift中运行$RedShiftFile中的sql语句
导出 PGPASSWORD=$REDPwd psql -h $RedShiftHost -p $RedShiftPort -U $RedShiftUsr -d $RedShiftDb -f $RedShiftFile
【讨论】:
【参考方案3】:您能否为您的活动添加更多背景信息?
您可以通过 ShellCommandActivity 运行任意命令。
例子:
//出错时退出脚本 设置-e
//1.安装 PSQL 客户端 sudo yum install postgresql93 -y
//2.在 Redshift 中运行 $RedShiftFile 中的 sql 语句 导出 PGPASSWORD=$REDPwd psql -h $RedShiftHost -p $RedShiftPort -U $RedShiftUsr -d $RedShiftDb -f $RedShiftFile
【讨论】:
我试图只插入 SQL 代码,因此 SQLactivity 更符合我想要做的事情。 ShellCommandActivity 只会混淆事物以上是关于我可以在哪里放置 SQL 代码以在 AWS Data Pipeline 中删除表?的主要内容,如果未能解决你的问题,请参考以下文章
当一个人创建一个新模型时,应该在哪里放置代码以在 Google App Engine/Django 上自动增加一个分片计数器?
在哪里存储本地视频以在 Android Studio 中播放