azure-data-factory - 当同一源上有多个复制数据活动时,Azure Purview 如何在 Azure 数据工厂中执行数据沿袭?
问题描述
我的特殊情况是这样的: 数据工厂管道
我在 Azure Blob 存储中有一个 .txt 文件。
- 我将 Blob 中的这个文件复制到 Azure SQLDB
- 我将同一个文件复制到同一个 blob 容器中的存档位置
- 然后我在存档后删除文件
当我在 Azure 数据工厂中触发管道时,Purview 给了我一个仅显示存档复制活动的数据沿袭,而从未将 BLOB 显示到 Azure SQLDB 活动。有关血统,请参阅此屏幕截图:Purview Data Lineage
当我导航到 Purview 中的 Azure SQLDB 目标时,它说没有可用于此资产的数据沿袭。
这是我所做或认为可能是原因的原因:
- 也许复制活动需要在不同的管道中。我对此进行了测试,并发生了相同的结果
- 可能是因为我删除了文件,它没有将 Blob 源拾取到 Azure SQLDB 复制活动。我将对此进行测试,但我认为这不太可能,因为它确实将 Blob Source 提取到 Blob Archive Destination 复制活动
- 也许它只获取给定源的最后一个复制活动,而不是全部。我对此进行了测试,但它并没有改变数据沿袭。我可能需要在 Azure Purview 中做一些事情来“重置”数据沿袭,但我认为它使用源的最后一个管道运行,我注意到当我将管道分成 2 个管道时它确实更新了数据沿袭(一个用于加载 Azure SQLDB,另一个用于归档 Blob 文件)
我相当坚持这个......我将完全删除存档并看看会发生什么,但根据所有 Microsoft 文档,支持 Azure Blob 和 Azure SQLDB 的数据沿袭,所以这应该可以工作。如果有人有答案或想法,我很想听听。
更新** 我的最新理论是,在运行管道和在 Purview 中刷新数据沿袭之间存在时间差……我将尝试断开数据工厂并重新连接。
更新 #2** 据我所知,删除数据工厂连接并重新连接没有任何作用。我一直在研究如何通过 REST API 删除资产,这显然是在 Purview 中删除资产/关系的唯一方法……我认为下一步将是删除 Purview 帐户和存储。
更新 #3*** 即使在启动新的 Purview 帐户后,沿袭仍然无法将 Blob 显示到 Azure SQLDB。我想知道这是否是因为我拥有的 for each 逻辑,但没有意义,因为归档复制活动也在 for each 中。我不知所措。我有其他从 Blob 复制到 Azure SQLDB 的活动,但不是这个。
谢谢
解决方案
经过大量的测试。我相信问题是Purview 不知道如何处理包含附加列的复制活动。
不起作用:使用附加列
作品:没有额外的列
唯一的区别是一个映射了额外的列,而另一个没有映射。轻微的设计差距...
我已创建此 Azure Purview 功能请求!https://feedback.azure.com/forums/932437-azure-purview/suggestions/42357196-allow-data-lineage-to-be-performed-on-azure-data-f
请为此投票,以便它可以在未来的版本中实施。
推荐阅读
- azure - 到 Azure Blob 存储的 Elasticsearch 快照 - 找不到帐户的 azure 客户端
- angular - 如何修复错误“NgFor 仅支持绑定到 Iterables,例如数组”?
- sql - 如何向日期维度表添加更多日期数据?
- python-3.x - 获取从一个阵列的最近样本到另一个阵列的样本的距离
- github-api - 在 github 问题中添加评论时如何配置并向非 github 用户发送通知
- php - Google Calendar API 为正确格式化的日期返回无效的日期时间?[PHP]
- outlook - 客户端 PC 上的 Outlook 版本从最新版本切换到旧版本
- javascript - 类的鼠标移动问题。如果我将鼠标移出内容消失
- javascript - 使用“onchange”事件在 ASP .Net Core 中基于变量显示信息
- tty - 如何找到指定 pty slaver 的 peer master 进程?