AWS中ETL流程的最佳方式是啥
Posted
技术标签:
【中文标题】AWS中ETL流程的最佳方式是啥【英文标题】:what is the best way of ETL Process In AWSAWS中ETL流程的最佳方式是什么 【发布时间】:2018-12-27 15:16:16 【问题描述】:我的数据在 redshift 集群中,并且每天都在刷新。
我希望每天运行一个 SQL 代码,以便在 redshift 集群中创建表。所以我必须设置将在特定时间运行的 ETL 作业,以从 SQL 代码创建表。
我不知道,最好的方法是什么,我是 AWS 的新手,并且对 SQL 有很好的了解。谁能建议如何进行?
【问题讨论】:
您可以查看***.com/questions/52306194/… 【参考方案1】:简短的回答:可能有很多方法可以做到这一点,你正在尝试什么。
长答案:通常可以通过以下任何一种方式完成。
-
使用任何通用编程语言(java、python、C/C++、.net 等)
使用任何现成的ETL 工具(如 pantaho、AWS 胶水等)
其他方式
既然你说你很天真,我想向你解释一下我过去用于复杂 ETL 的简单方法(即纯 shell 脚本),尽管考虑一下你的用例,并根据我建议的各种选项权衡它和使用最适合您的。
-
创建您的 shell/批处理脚本以运行 SQL。
设置 cron 作业以调用 #1 shell 脚本。
这里是开始的示例 shell 脚本。确保运行以下命令,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."
这只是为您提供一些开始的指针。每种方法都有很多优点/缺点,正如我所说,在决定任何方法之前,您必须权衡所有优点/缺点。
【讨论】:
您好,非常感谢您的帮助,非常感谢您的建议。 我在 RDS 实例下有 PostgreSQL,我可以在其中创建数据库,我是否必须在我的系统上安装 PostgreSQL?或者我将如何运行 cron 作业?有没有视频可以让我一步一步进入最后阶段? 否psql
是客户端工具,我相信它可以在没有完整的 PostgreSQL 数据库的情况下安装。这是一些指针。 unix.stackexchange.com/questions/249494/… ,类似地 crontab
是非常流行和旧的安排作业的方式,我想请检查您的网络管理员或任何熟悉 unix
的人。在这里,您可以使用cron-tab
上的基本信息。 tutorialspoint.com/unix_commands/crontab.htm。有关更多信息,请使用 cron 标签在 youtube 上搜索,您应该会得到很多好的材料。以上是关于AWS中ETL流程的最佳方式是啥的主要内容,如果未能解决你的问题,请参考以下文章
aws CI/CD 工作流程的最佳路径是啥? Cloudformation、SAM 还是无服务器框架?
在 Terraform 中将多个 AWS 账户作为环境处理的最佳方式是啥?