当我们使用派生列表达式生成器时,Azure 数据工厂管道无法使用 cosmos DB,它的列数不超过 19

标签 azure azure-pipelines azure-cosmosdb azure-data-factory

我有一个带有逗号分隔符的 csv 文件。我尝试将这些文件文件数据插入到 cosmos 数据库中。 enter image description here

enter image description here

enter image description here enter image description here

这是我的表达式生成器:- @(A=A,B=B,C=C,D=D,E=E,F=F,G=G,H=H,I=I,J=J,K=K,L=L, M=M,N=N,O=O,P=P,Q=Q,R=R,S=S,T=T,U=U,V=V) 当我使用最多 15 个时,它的工作意味着最多 O。如果我使用所有值,它不起作用。管道无限运行,我检查了管道运行最多 4 小时。文件仅包含一行。

最佳答案

尽管增加了数据流运行时核心,但我重现了这一点并遇到了同样的问题。但您可以尝试这个替代解决方法

首先将 csv 文件作为 JSON 文件转换到新的 Blob 存储容器中。然后使用复制事件将其复制到 azure cosmos db

使用新容器创建一个 JSON 数据集,但不带任何文件名,因为数据流将在容器中创建部分 JSON 文件并为其提供数据流接收器。

enter image description here

现在,在管道中使用复制事件并为其提供相同的 JSON 数据集作为源。使用通配符路径指定 JSON 文件 (*.json),因为我们只能有一个从数据流生成的 JSON 文件。

enter image description here

cosmos db 数据集作为复制事件的接收器。执行后,它将在 blob 中创建一个 JSON 文件,然后将此内容复制到 cosmos db。

blob 中的 JSON 文件:

enter image description here

Cosmos 数据库数据:

enter image description here

注意:如果您使用相同的 Azure 集成运行时进行数据流调试<,则此方法也可能会导致进行中/strong> 具有小核心。

在这种情况下,请尝试创建具有更高内核的新 Azure 集成运行时,并将其用于数据流调试。
请查看How to create and configure Azure Integration Runtime .

创建后,转到“监视器”并单击它,然后像这样更改内核并检查数据流。

enter image description here

管道的数据流设置数据流调试中将运行时更改为此。

关于当我们使用派生列表达式生成器时,Azure 数据工厂管道无法使用 cosmos DB,它的列数不超过 19,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72921548/

相关文章:

azure - 使用托管标识从 VM 访问 Azure 存储

bash - 使用 bash、Azure CLI 和 REST API 访问 CosmosDB - 如何正确获取 token 和哈希?

python - 使用延续 token 通过 Python SDK 对 Azure CosmosDB 进行分页

azure - 取消设置环境变量 经典 Azure Pipeline 步骤

Azure DevOps中的Flutter管道

azure-devops - ##[错误]未找到与指定模式匹配的项目文件

azure - 如何在 Cosmos DB 中查找重复文档

Azure 数据工厂复制数据架构与接收器 Datalake 的映射

azure - ADAL 身份验证无对话框提示

azure - 模块中尚未声明托管资源 "azurerm_network_interface"