【问题标题】:Dependency based ETL flow in AWSAWS 中基于依赖项的 ETL 流
【发布时间】:2018-02-20 02:42:20
【问题描述】:

我们希望根据 S3 中的输入数据创建一个动态流。基于 S3 中可用的数据以及元数据,我们希望在系统中创建动态集群和动态任务/转换作业。有些工作是基于依赖的。我在这里分享预期的流程,想知道我们使用 AWS 服务和 env 可以做到这一点的效率。

我正在探索 AWS SWF、Data Pipe Line 和 Lambda。但现在确定如何处理动态任务和动态依赖关系。对此有任何想法。

数据流在附图中解释(参考 ETL 流) ETL Flow

【问题讨论】:

标签: amazon-web-services amazon-s3 aws-lambda amazon-data-pipeline amazon-swf


【解决方案1】:

带有 S3 触发器的 Amazon Step Functions 应该以经济高效且可扩展的方式完成工作。

所有步骤都用状态语言定义。

https://states-language.net/spec.html

您可以并行运行作业并等待它们完成,然后再开始下一个作业。

以下是 AWS Step Functions 的示例之一,

【讨论】:

  • 我没有研究过步进函数,我会探索这个,如果在我的用例中使用它有任何问题,我会回来。
  • AWS Step 函数看起来很有趣,我们是否有使用 Step 函数在这些集群上创建动态集群和动态 Spark 作业执行的示例,如果有,您可以分享链接。
  • 你应该能够以可扩展的方式使用 lambda 运行,不需要任何复杂的基础设施。
【解决方案2】:

如果您使用AWS Flow Framework,它是官方 SWF 客户端的一部分,那么对这种动态流进行建模非常简单。您定义它的对象模型,编写基于您的管道定义实例化它的代码并使用框架执行。请参阅Deployment Sample 了解此类动态工作流实现的示例。

【讨论】:

    猜你喜欢
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多