我的数据保存在redshift集群中,并且每天都在刷新。
我想每天都要运行一个SQL代码,该代码将在redshift集群中创建表。因此,我必须设置将在特定时间运行的ETL作业,以便从SQL代码创建表。
我不知道什么是最好的方法,我在AWS中是新手,并且对SQL有很好的了解。有人可以建议如何进行吗?
答案 0 :(得分:0)
简短的答案:您尝试的方法有很多。
长答案:总体上可以通过以下任何一种方式完成。
自从您说过之后,您就太天真了,我想向您解释我过去用于复杂ETL的简单方法(即普通外壳脚本),尽管考虑您的用例并将其权衡于我建议的各种选项和使用最适合您的那个。
这里是示例shell脚本的开头。确保运行beow命令,psql
命令应安装在您要连接到Redshift
的EC2之一上
#!/bin/sh
# example comment!
echo "Executing the create sales table"
psql postgresql://username:password@redshift-url:port/databasename?sslmode=require -c
"create table sales( Colunm1 varchar(55), Colunm2 varchar(255), updated_at timestamp);"
echo "Sales table created."
这仅为您提供一些开始的指针。每种方法都有很多利弊,正如我所说,在决定采用哪种方法之前,您必须权衡所有利弊。