我需要在 Azure 中近乎实时地解析大量小型非结构化文件,并将解析后的数据加载到 SQL 数据库中。我选择了Python(因为考虑到源文件的数量及其大小,我认为任何Spark集群或大数据都不适合)并且解析逻辑已经写好了。我期待使用 Azure PaaS 以不同的方式安排这个 python 脚本
- Azure 数据工厂
- Azure Databricks
- 都是 1+2
请问从 Azure 数据工厂运行指向 Azure Databricks 的 Python 笔记本事件有何含义?我能够充分利用集群(Driver & Workers)的潜力吗?
另外,如果您认为脚本必须转换为 PySpark 才能满足我在 Azure Databricks 中运行的用例要求,请建议我?这里唯一的犹豫是文件以 KB 为单位,并且它们是非结构化的。
最佳答案
如果脚本是纯Python,那么它只能在Databricks集群的驱动程序节点上运行,这使得它非常昂贵(并且由于集群启动时间而缓慢)。
您可以重写为 pyspark,但如果数据量像您所说的那么低,那么这仍然是昂贵且缓慢的。最小的集群将消耗两个虚拟机——每个虚拟机有 4 个核心。
我会考虑使用 Azure Functions。 Python 现在是一个选项:https://learn.microsoft.com/en-us/azure/python/tutorial-vs-code-serverless-python-01
Azure Functions 还与 Azure 数据工厂进行了很好的集成,因此您的工作流程仍然可以正常工作。
关于python - Azure Databricks Python 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59485248/