[英]Can't write to Azure Sql DataWarehouse from databricks pyspark workers
[英]Any benefits of using Pyspark code over SQL in Azure databricks?
我正在做一些已经有 SQL 代码的事情。 现在我们正在迁移到 Azure。所以我为转换创建了一个 Azure 数据块,并使用相同的 SQL 代码进行了一些小改动。
我想知道 - 是否有任何推荐的方法或最佳实践来使用 Azure 数据块? 我们是否应该重写 PySpark 中的代码以获得更好的性能?
注意:之前 SQL 代码的最终结果没有错误。 只是我们要迁移到 Azure。我没有花时间重写代码,而是使用了相同的 SQL 代码。 现在我正在寻找建议,以了解最佳实践以及它将如何产生影响。
寻求您的帮助。 谢谢 !
期待 - 随着从本地迁移到 Azure。我正在寻找一些最佳实践以获得更好的性能。
在幕后,所有代码(SQL/Python/Scala,如果编写正确)都由同一个执行引擎执行。 您始终可以比较 SQL 和 Python 的执行计划(对于 SQL 为EXPLAIN <query
,对于 Python 为dataframe.explain()
)并查看它们对于相同的操作是相同的。
因此,如果您的 SQL 代码已经可以使用,您可以继续使用它:
但通常使用 Python 可以获得更多的灵活性或功能。例如(这不是完整列表):
但实际上,在 Databricks 上,您通常可以将 SQL 和 Python 代码混合并匹配在一起,例如,您可以将 Python 代码公开为用户定义的 function 并从 SQL 调用它( 正在执行此操作的 DLT 管道的小示例)等。
您在那里问了很多问题,但我会解决您在标题中提出的问题:
使用 Pyspark 代码比使用 SQL 有什么好处?
是的。
不要误会我的意思,我喜欢 SQL,对于临时探索来说,它是无与伦比的。 在 PySpark 上使用 SQL 有充分合理的理由,但这不是你的问题。
这些只是我的意见,其他人可能会有所不同。
在获得有关已发布问题的帮助并进行一些研究后,我得出了以下回应 -
使用 Python - 用于大量转换(更复杂的数据处理)或用于分析/机器学习目的使用 SQL - 当我们处理关系数据源时(专注于查询和操作存储在关系数据库中的结构化数据)
注意:我们可以使用两种语言的一些优化技术来提高性能。
摘要:根据用例选择语言。 两者都具有分布式处理,因为它运行在 Spark 集群上。
谢谢 !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.