繁体   English   中英

AWS pandas etl 作业对于 lambda 来说太大而对于 Spark 来说太小 - 使用什么?

[英]AWS pandas etl job that is too big for lambda and too small for Spark - what to use?

我需要运行每天的 etl 作业,该作业必须下载一些 CSV 文件并运行一些 Pandas 处理。 该文件刚好足以在处理过程中 lambda 失败的地方,但 spark 似乎有点过头了。 胶水不允许熊猫。 什么对日常处理有意义? 我目前正在考虑以下选项

  • 对 Pandas read_csv 使用 chunksize 做一些解决方法
  • 即使数据不是很大,也作为火花作业运行,对于 lambda 来说太大了
  • 尝试作为 Sagemaker 处理作业运行
  • 在 EC2 实例上作为脚本运行

Ec2 肯定会工作,但感觉这应该由一些专门的 AWS 服务来处理。 但哪个是适合这项工作的 (AWS) 工具?

SageMaker Training 和 SageMaker Processing 绝对是小规模到大规模数据处理(包括任意 Pandas 执行)的相关服务。 我对 SageMaker 培训略有偏好。 尽管名称如此,但没有什么会强迫您在 SageMaker Training 中进行 ML 训练! 它有以下好处:

  1. 它可以使用 Spot
  2. 它与 AWS 的其余部分很好地集成(良好的控制台体验、自定义指标 + Cloudwatch 中的日志)
  3. 您甚至可以创造性地尝试使用贝叶斯调整来调整作业执行时间或成本!

在您的情况下,我建议使用开源 SageMaker Sklearn 训练容器,它的好处是安装了 pandas、高级 SDK 并且可以在本地进行测试。

在此类场景中,您可以使用 AWS Glue python shell作业。您现在可以在 AWS Glue 中使用 Python 脚本来运行中小型通用任务,这些任务通常是 ETL(提取、转换和加载)工作流的一部分。

请参阅此 文档以了解有关如何使用 Pandas 添加 python shell 作业的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM