【问题标题】:How to run glue script from Glue Dev Endpoint如何从 Glue Dev Endpoint 运行胶水脚本
【发布时间】:2018-10-30 02:04:38
【问题描述】:

我有一个用编辑器编写的胶水脚本(test.py)。我连接到胶水开发端点并将脚本复制到端点,或者我可以存储在 S3 存储桶中。基本上粘合端点是一个 EMR 集群,现在我如何从开发端点终端运行脚本?我可以使用 spark-submit 并运行它吗?

我知道我们可以从胶水控制台运行它,但更想知道我是否可以从胶水端点终端运行它。

【问题讨论】:

    标签: amazon-web-services aws-glue


    【解决方案1】:

    你不需要笔记本;您可以通过 ssh 连接到 dev 端点并使用 gluepython 解释器(不是普通的 python)运行它。

    例如

    radix@localhost:~$ DEV_ENDPOINT=glue@ec2-w-x-y-z.compute-1.amazonaws.com
    radix@localhost:~$ scp myscript.py $DEV_ENDPOINT:/home/glue/myscript.py
    radix@localhost:~$ ssh -i {private-key} $DEV_ENDPOINT
    ...
    [glue@ip-w-x-y-z ~]$ gluepython myscript.py
    

    您也可以直接运行脚本,而无需使用 ssh 获取交互式 shell(当然,在使用 scp 或其他方式上传脚本之后):

    radix@localhost:~$ ssh -i {private-key} $DEV_ENDPOINT gluepython myscript.py
    

    如果这是一个使用 Job 类的脚本(就像自动生成的 Python 脚本那样),您可能需要传递 --JOB_NAME--TempDir 参数。

    【讨论】:

    • 感谢您的回答。这就是我一直在寻找的。让我试试,我会告诉你的。
    【解决方案2】:

    出于开发/测试目的,您可以在本地设置 zeppelin 笔记本,使用 AWS Glue 端点 URL 建立 SSH 连接,这样您就可以访问数据目录/爬虫等。以及您的数据所在的 s3 存储桶。

    所有测试完成后,您可以捆绑您的代码,上传到 S3 存储桶。然后在 S3 存储桶中创建一个指向 ETL 脚本的作业,以便作业可以运行,也可以调度。

    有关设置本地环境的任何帮助,请参阅heresetting up zeppelin on windows。您可以使用 Glue 提供的开发实例,但您可能会为此产生额外费用(EC2 实例费用)。

    设置好 zeppelin notebook 后,您可以将脚本 (test.py) 复制到 zeppelin notebook,然后从 zeppelin 运行。

    根据 AWS Glue 常见问题:

    问:我应该什么时候使用 AWS Glue 与 Amazon EMR?

    AWS Glue 在 Apache Spark 环境之上工作,以提供 数据转换作业的横向扩展执行环境。 AWS Glue 推断、演进和监控您的 ETL 作业,从而大大简化 创造和维持工作的过程。 Amazon EMR 为您提供 直接访问您的 Hadoop 环境,为您提供 更低级别的访问权限和更大的灵活性使用工具 火花。

    您对在 EMR 实例中运行 Glue 脚本有任何特定要求吗?因为在我看来,EMR 提供了更大的灵活性,您可以使用任何第 3 方 python 库并直接在 EMR Spark 集群中运行。

    问候

    【讨论】:

    • 感谢您的回复。我正在研究如何在不使用控制台/笔记本的情况下登录(ssh)到 GLUE/EMR 集群后运行胶水脚本
    • AWS Glue 是无服务器或托管服务,我认为我们根本无法通过 SSH 访问 AWS Glue DevEndpoint 的 EC2 实例。如果您需要登录终端,并且希望对脚本的运行方式有更多控制权,那么 EMR 将是最佳选择。请注意,GLUE/EMR 不一样,请参阅我的更新答案。
    猜你喜欢
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    相关资源
    最近更新 更多