azure - 在 Azure 数据工厂中使用 SQL 存储过程与 Databricks
问题描述
我需要使用 ADF 管道每天将多达 50 万条记录写入 Azure SQL DB。作为可以在 SQL 存储过程活动中执行的数据转换的一部分,我进行了简单的计算。我还观察到 Databricks Notebooks 被普遍使用,尤其是。由于未来可扩展性的好处。但是在转换、管理身份验证等之后将文件放置在另一个位置是一项开销活动,除非绝对需要,否则我想避免任何过度设计。我已经测试了 SQL Stored Proc,它对于大约 50k 记录运行良好(尚未测试更高容量)。
但我仍然想知道这两个选项之间的一般建议,尤其是。来自经验丰富的 Azure 或数据工程师。谢谢
解决方案
作为一名经验丰富的(前)DBA、数据工程师和数据架构师,我看不到 Databricks 在这种情况下添加了什么。您可能需要扩展的这部分体系结构是INSERTs
Azure SQL 数据库的目标,它非常容易通过门户或 REST API 手动扩展,如果需要的话。如果需要调整插入,请考虑加载到堆和分区切换等技术。
在架构中添加额外组件然后将数据通过的开销必须是值得的,再加上在运行数据库的同时启动 Spark 集群的额外成本。
Databricks 是一个极好的工具,有很多很好的用例,例如高级数据转换(即你不能用 SQL 做的事情)、机器学习、流媒体和其他。看看这个免费资源以获得一些想法:
https://databricks.com/p/ebook/the-big-book-of-data-science-use-cases
推荐阅读
- r - 当已经有 event_data("plotly_click")
- c++ - 不断收到“尝试引用已删除的函数”
- rest - 如何将整个 json 对象作为 Object Repository Katalon Studio API 中的 JSON 键之一的值传递?
- scala - 如何从数组中存在的所有元素创建一个元组
- javascript - 将对象添加到数组中并更改该数组中其他对象的属性
- python - IndexError: tuple index out of range 如何出现在一台计算机上而不是另一台计算机上?
- ansible - 在 ansible 模板中使用动态组名
- java - 如何使用来自另一个变量值的名称创建变量
- react-native - React Native Multiple Fetch 返回错误的值
- javascript - 使用 componentDidMount() 在刷新时停止页面闪烁