【问题标题】:Creating an AWS Data Pipeline EMR cluster using ShellCommandActivity使用 ShellCommandActivity 创建 AWS Data Pipeline EMR 集群
【发布时间】:2018-05-14 21:59:07
【问题描述】:

当我创建AWS EMR 时,我可以通过他们在AWS Management Console 上的简单向导来创建。完成后,我可以对其进行测试,当我对它的配置感到满意时,我可以简单地单击 AWS CLI 导出按钮并复制用于创建 EMR 的 CLI 命令。

我需要创建一个 EMR 作为我的 AWS Data Pipeline 进程的一部分,而不是配置 EmrCluser 然后运行我想要的任何 EmrActivity 我想知道是否可以复制我在我的过程中导出的 CLI 命令测试并将其粘贴到 ShellCommandActivity 中,这将创建 EMR。从那里我可以使用 EmrActivity 进行一些处理,或者只使用 ShellCommandActivity 进行处理。

我可以使用通过 ShellCommandActivity 运行的 CLI 命令创建我的 AWS Data Pipeline EMR 集群吗?如果我这样做,我是否能够针对该 EMR 集群运行 EmrActivity?我只是认为以这种方式创建 EMR 会更容易,因为我可以使用 AWS 管理控制台创建我的 EMR,然后我可以在导出 CLI 命令之前测试我的 EMR,而不是通过正确构建 EMR 的过程AWS Data Pipeline 向导/JSON 流程。即,AWS 管理控制台上的实际 EMR 向导比在 AWS 管理控制台上创建 EMR 的数据管道向导要容易得多,尤其是在选择我的安全组和各种配置时。

更新:

我刚刚验证我实际上可以通过 ShellCommandActivity 运行 CLI 命令以通过数据管道创建我的 EMR,但这可能是代码异味还是不好的做法?以这种方式而不是通过预定义的 EmrCluster 命令在数据管道上创建和 EMR 是否有任何缺点?

【问题讨论】:

    标签: amazon-web-services amazon-emr amazon-data-pipeline


    【解决方案1】:

    有可能,但有点复杂:

    1. 以下操作或脚本本身必须等待集群创建完成。确保操作不会超时。
    2. 数据管道不知道集群,因此您需要在 EMRActivity 中指定workerGroup 而不是runsOn。您还需要在集群上安装Task Runner

    【讨论】:

    • 感谢您的反馈,我什至没有想过要为 EMR 启动时间做些什么。此外,我在弄清楚如何获取 EMR 集群 ID 以便在 EMR 集群上运行任务时遇到了麻烦。所以看起来我只需要使用 EmrCluster 和 EmrActivity 字段。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多