用于EMR自动化的AWS数据管道VS lambda

时间:2018-01-19 07:36:12

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

以下是我在AWS中的应用程序的步骤。

  1. 数据将每周在单独的35个S3文件夹中加载。
  2. 完成每个35个文件夹中的数据加载后,将创建EMR群集。
  3. 每个EMR集群都有spark-scala脚本来运行。
  4. 完成作业后,所有群集都将被终止。
  5. 我怎样才能实现这个目标?

    据我所知,有两种选择。

    1. 在S3事件上调用AWS lambda函数,lambda将创建EMR集群,并将执行spark-submit。
    2. 我读到了AWS数据管道。
    3. AWS Data pipeline会对我的情况有所帮助吗?

      我也有火花scala脚本,我一直在运行zeppelin。 如果需要,我可以创建jar并在数据管道中提交。

      请考虑费用。我每周要向客户提供5TB的数据。

1 个答案:

答案 0 :(得分:1)

我认为您应该使用数据管道。管道将负责EMR创建,作业提交以及处理完成后关闭EMR。您可以在“活动”部分中指定EMR的步骤。 “资源”部分可以指定EMR集群的参数(如要使用的实例类型/角色等)

您甚至可以配置警报 - 如果管道因某种原因失败,则通过SNS向您发送电子邮件。

现在谈到如何触发管道。如果进入的数据是预定的时间,您可以考虑在管道中使用“schedule”。然后,管道将在每天/每周/每月的指定时间激活。