azure-data-factory - 从 REST API 获取数据并将其存储在 Azure Data Lake 中
问题描述
从 REST API 获取数据并将其作为 JSON 存储在 Azure 数据湖中是否有意义?或者数据应该直接存储到 Azure SQL 中?
我已经尝试了这两个选项,但不清楚在哪种情况下值得将数据保存到 Azure Data Lake。
解决方案
是的,这是一种完全正常的模式,特别是为收集大量数据而出现的模式。写入数据库很棒,但有(至少)两个方面需要考虑:
- schema-on-write -在写入数据库之前,您必须知道架构。这意味着所有列、所有数据类型、可空性、排序规则,甚至在您考虑写入记录之前。例如,您将如何处理 JSON 更改的架构?
- 事务日志 - 大多数 Microsoft SQL 数据库使用预写日志或 WAL,这意味着事务日志必须在事务被视为 ACID 事务的一部分之前完成。在数据库负载重或高并发的情况下会发生什么 - 排队和阻塞。通常这些事情需要几毫秒,但低层等开始发挥作用。如果您需要这种东西,则可以使用诸如最终一致性(例如与 Cosmos 之类的)的替代模式。
合同中的数据湖是读取时模式,即您不必知道模式即可写入湖,因此您可以登陆它并稍后找出其他内容。
这不一定适用于您关于 Synapse 的其他问题,因为您冒着丢失完美 SQL Server 数据类型的风险。请查看其中一个迁移向导。
推荐阅读
- assembly - 为什么输入调用在我的 asm 代码中不起作用?
- python-3.x - Python子字符串提取问题
- javascript - 在 React 中渲染变量
- c - strtol()/atol() 导致分段错误
- html - 由于我被阻止的 div 的必需输入,无法提交表单
- python - 正则表达式除特定字符串外的任何字母数字序列
- excel - MS Excel 公式:使用范围列表从文本中查找和删除多个匹配项
- python - Python 链式属性访问中的无传播
- c# - Process.OutputDataReceived 未触发
- android - 在 React Native 中使用 axios 时出现网络错误