首页 > 解决方案 > Azure Databricks Python 作业

问题描述

我需要在 Azure 中近乎实时地解析大量小型非结构化文件,并将解析后的数据加载到 SQL 数据库中。我选择了 Python (因为考虑到源文件的数量和大小,我认为任何 Spark 集群或大数据都不适合)并且解析逻辑已经编写好了。我期待使用 Azure PaaS 以不同的方式安排这个 python 脚本

  1. Azure 数据工厂
  2. Azure 数据块
  3. 两者 1+2

请问从 Azure 数据工厂运行指向 Azure Databricks 的 Python 笔记本活动有什么意义?我能否充分利用集群(Driver & Workers)的潜力?

另外,如果您认为必须将脚本转换为 PySpark 以满足我在 Azure Databricks 中运行的用例要求,请建议我?这里唯一的犹豫是文件以 KB 为单位,并且它们是非结构化的。

标签: pythonazureazure-data-factoryazure-databricks

解决方案


如果脚本是纯 Python,那么它只会在 Databricks 集群的驱动程序节点上运行,这使得它非常昂贵(并且由于集群启动时间很慢)。

您可以重写为 pyspark 但如果数据量如您所说的那么低,那么这仍然是昂贵且缓慢的。最小的集群将消耗两个虚拟机——每个都有 4 个核心。

我会考虑改用 Azure Functions。Python 现在是一个选项:https ://docs.microsoft.com/en-us/azure/python/tutorial-vs-code-serverless-python-01

Azure Functions 还与 Azure 数据工厂完美集成,因此您的工作流仍然可以工作。


推荐阅读