从 Azure Databricks 写入 Azure Blob 存储时出现重复的 Blob 创建事件



我们使用的是包含单个容器的 Azure 存储帐户(Blob、StorageV2(。我们还使用 Azure 数据工厂从容器中创建的 blob (.tar.gz( 触发数据复制管道。从 Azure 应用服务创建 Blob 或通过 Azure 存储资源管理器手动上传时,触发器工作正常。但是,从 Azure Databricks 上的笔记本创建 Blob 时,我们为每个创建的 Blob 获取两 (2( 个事件(两个事件的参数相同(。用于从笔记本创建 Blob 的代码类似于:

dbutils.fs.cp(
  "/mnt/data/tmp/file.tar.gz", 
  "/mnt/data/out/file.tar.gz"
)

tmp文件夹仅用于组装包,事件触发器附加到out文件夹。我们也尝试了dbutils.fs.mv,但结果相同。Azure 数据工厂中的触发规则包括:

Blob path begins with: out/
Blob path ends with: .tar.gz

容器名称为 data

我们确实发现了一些与零长度文件相关的类似帖子,但至少我们在任何地方都看不到它们(如果某种副产品要dbutils(。

如前所述,只需手动上传file.tar.gz就可以正常工作 - 触发单个事件。

我们必须恢复为使用 azure-storage-blob 库将文件从 Databricks 上传到 Blob 存储。有点无赖,但它现在按预期工作。以防万一其他人遇到这种情况。

更多信息:

https://learn.microsoft.com/en-gb/azure/storage/blobs/storage-quickstart-blobs-python

相关内容

  • 没有找到相关文章

最新更新