如何自动化ETL作业部署和运行?

时间:2018-06-27 19:36:48

标签: automation amazon-redshift etl data-warehouse aws-glue

我们有ETL作业,即通过外壳程序脚本运行Java jar(执行etl操作)。根据正在运行的作业,将通过一些参数传递shell脚本。这些shell脚本可以通过crontab运行,也可以根据要求手动运行。有时,在运行Shell脚本之前,还需要在posgresql RDS DB上运行一些sql命令/脚本。

我们在AWS上拥有一切,即Ec2 talend服务器,Postgresql RDS,Redshift,ansible等。 我们如何使这一过程自动化?如何部署和处理传递自定义参数等。欢迎使用指针。

2 个答案:

答案 0 :(得分:1)

我更喜欢使用AWS Data Pipeline,并添加步骤以对ETL作业执行任何前/后操作,例如运行Shell脚本或任何hql等。

AWS Glue在Spark引擎上运行,它还具有其他功能,例如AWS Glue开发端点,爬网程序,目录,作业调度程序。我认为,如果您要重新开始或计划将ETL迁移到AWS Glue,则AWS Glue将是理想的选择。请refer here on price comparison

AWS管道:For details on AWS Pipeline

AWS Glue常见问题解答:For details on supported languages for AWS Glue

请根据AWS Glue常见问题进行记录:

  问:问:我可以使用哪种编程语言编写适用于AWS的ETL代码   胶水?

     

您可以使用Scala或Python。

编辑:正如乔恩·斯科特(Jon scott)所说,Apache Airflow是作业计划的另一种选择,但我没有使用它。

答案 1 :(得分:0)

您可以使用Aws Glue来执行无服务器ETL。胶水还具有触发器,可让您自动执行其作业。