我是 Glue 作业的新手,我希望尝试使用 Glue 2.0 来运行 PySpark 作业 (python 3),这些作业需要我的 requests.txt 中定义的以下 python 库。我有点不知道如何/从哪里开始,这样我就可以在本地进行开发,然后成功发布作业,而不会陷入大量试验和错误的循环。
python-dateutil pyyaml jsonpath-ng jinja2 dateparser pymmh3 (纯python)
在尝试提交 PySpark 作业之前,应该如何在我的机器上进行本地开发?当我阅读 AWS 网站上的文档和各种 AWS 博客文章时,我感到非常困惑。
我应该使用本地开发端点吗?该文档说 Glue 2.0 不支持它们,该链接将我带到一篇标记为“以减少的启动时间运行 Spark ETL 作业”的文章。其中没有提及本地发展终点或本地发展的见解。https://docs.aws.amazon.com/glue/latest/dg/dev-endpoint.html和https://docs.aws.amazon.com/glue/latest/dg/reduced-start-times-spark- etl-jobs.html
接下来,我检查了此文档“使用 AWS Glue ETL 库在本地开发和测试 ETL 脚本”,网址为https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-libraries.html文档似乎只提到了 Glue 1.0....这适用于 2.0 吗?当我再次查看https://github.com/awslabs/aws-glue-libs时,我看到的都是对 1.0 的引用,而没有对 2.0 的引用。此票证还涉及: https: //github.com/awslabs/aws-glue-libs/issues/51 1.0 工件似乎引用了与 2.0 相同的 Spark 2.4.3,但有大量参考资料介绍了如何Glue 2.0 工作的环境是不同的......因此,人们是否应该期望投入时间使用这些 1.0 aws-glue-libs 进行本地开发将在 2.0 中工作,尤其是在尝试使用额外模块进行测试时?
这篇 AWS 博客文章“使用 AWS Glue 2.0 从轮子为 Spark ETL 工作负载构建 Python 模块”似乎对如何打包模块以进行作业提交很有帮助,但对于本地测试/开发没有帮助:https://aws .amazon.com/blogs/big-data/building-python-modules-from-a-wheel-for-spark-etl-workloads-using-aws-glue-2-0/
这篇 AWS 博客文章:“使用容器在本地开发 AWS Glue ETL 作业”似乎再次很有希望,但再次引用了 aws-glue-libs 项目及其相应的 2.0 docker 镜像“amazon/aws-glue-libs:glue_libs_2.0.0_image_01” .... 但可惜这并不存在,github 项目也没有再次提到 2.0。https://github.com/awslabs/aws-glue-libs和https://aws.amazon.com/blogs/big-data/developing-aws-glue-etl-jobs-locally-using-a-container/另外: https: //aws.amazon.com/blogs/big-data/building-an-aws-glue-etl-pipeline-locally-without-an-aws-account/
归根结底,我对如何成功启动 AWS Glue 2.0 以及 Glue 2.0、Python 3、PySpark 的本地 python 开发和打包......有什么建议吗?谢谢!
| 归档时间: |
|
| 查看次数: |
2054 次 |
| 最近记录: |