python - 适用于 Python 作业的 Azure Batch Service 与 Azure Databricks
问题描述
假设我有一个数据分析问题(例如 Iris 数据集之类的 csv 数据),我想用 Pandas 和 Python 进行一些数据操作和处理。我的 Python 脚本已经编写好了,每天当我收到一个 csv 文件时,我希望在 Azure 云中使用我的 Python 脚本处理这些数据,并将结果写入 Azure Blob 存储。
现在我遇到了这些链接/方法来解决这个问题:
- 使用 Azure Batch 通过数据工厂运行 Python 脚本
- 在数据工厂中运行 Databricks-Notebook 活动
- 通过数据工厂中的 Azure Databricks Python 活动运行 Python 脚本
有没有人对上述两种运行 python 脚本的方法有一些经验,也许有一些建议和考虑什么(优点/缺点)?
此问题的目标:选择或您更喜欢哪种方法:a) Azure Batch Service或 b) Azure Databricks,为什么?
选择合适的服务需要考虑的事项:
- 价格
- 设置解决方案的便利性
- 监控可能性
- 如果数据增长或脚本逻辑随着时间的推移变得更加复杂,扩展的可能性
- 易于与其他服务(例如存储)集成
- 库和框架方面的灵活性(例如,稍后说它可能成为一个数据科学问题,我想在我的分析管道中添加一些 h2o 机器学习模型)
- (也许更多我没有考虑......?)
解决方案
很难回答您的问题,因为没有描述文件和转换的数量和复杂性以及财务限制/执行时间(例如,您有多少行和列?),我建议您看一下数据架构技术:
https://docs.microsoft.com/en-us/azure/architecture/data-guide/technology-choices/batch-processing
它将取决于密钥选择标准和能力矩阵中描述的几个因素。
就我个人而言,我会使用 Azure 函数来处理 CSV 并将其上传到 blob 存储以进行简单的 CSV 处理,否则我会选择数据工厂。
对于 azure 函数解决方案,您可以在 python 脚本中划分函数并将它们作为单独的编排函数或您的设计模式(链接或扇出/输入)运行:主要优势是模块化和成本以及无服务器优势:
https://docs.microsoft.com/en-us/azure/azure-functions/durable/quickstart-python-vscode
推荐阅读
- matlab - fmincon 没有找到凸函数的全局最小值
- login - asp.net-boilerplate 主机招摇登录,如何?
- java - 无法让 ImageIcon 找到我从 C 盘找到我的图像
- electron - Electron 的主线程会阻塞 BrowserWindow 吗?
- python - OpenCV 将关键点转换为像素坐标
- amazon-web-services - IAM 策略中的 S3 存储桶加密限制
- android - 我正在尝试将 Android 旧库升级到 androidx (Android + Kotlin)
- javascript - IE8 - 复选框在第一次点击时不改变状态
- java - 当 Source 有大量记录时,Akka 流不运行
- c++ - C++写入文件错误