我可以在哪里放置 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 上自动增加一个分片计数器?

在哪里放置与 Eloquent 无关的 SQL 查询

在哪里存储本地视频以在 Android Studio 中播放

AWS WAF API 调用记录在哪里?

我应该在哪里放置包含我在laravel项目层级文件夹中的数据库播种器中使用的记录的.sql文件

AWS 弹性豆茎。用户上传的文件保存在哪里?