Операция копирования данных фабрики данных Azure, использующая
API-интерфейс Cosmo dB SQL в качестве источника с запросом на копирование данных в конечный объект Azure SQL DWH копирует только 30 документов при его запуске.
В базе данных cosmo db более 20 000 документов. Я использую поли базы с промежуточной областью в Sink для SQL DWH.
Какой параметр мне нужно изменить, чтобы скопировать все данные из API-интерфейса Cosmo dB в Azure SQL DWH?
Установка:
- конвейер фабрики данных Azure только с операцией копирования
- Исходный набор данных для cosmo db с SQL API и SQL-запросом для извлечения данных;
- Набор данных назначения для SQL DWH
- Коллекция Cosmo dB - секционированная коллекция
- SQL DWH таблица
У меня есть работающий конвейер ADF с единственной операцией копирования, которая копирует данные из Cosmo DB в таблицу SQL DWH, используя запрос для данных источника. Нет ошибок при отображении из источника в место назначения. Нет ошибок в фабрике данных монитора Azure.
Но какие бы настройки я ни указывал, он копирует только 30 документов в таблицу SQL DWH.
{
"name": "cmctodwh",
"properties": {
"activities": [
{
"name": "Copy_ie8",
"type": "Copy",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [
{
"name": "Source",
"value": "cmc"
},
{
"name": "Destination",
"value": "[dbo].[tb_cmc]"
}
],
"typeProperties": {
"source": {
"type": "DocumentDbCollectionSource",
"query": "select \r\n c.id, \r\n c.owner.cid, \r\n c.owner.role, \r\n c.owner.name,\r\n mc.createdDateTime,\r\n mc.modifiedDateTime,\r\n mc.cmcId from root c join mc in c.ownerAccess ",
"nestingSeparator": ""
},
"sink": {
"type": "SqlDWSink",
"allowPolyBase": true,
"writeBatchSize": 10000,
"polyBaseSettings": {
"rejectValue": 0,
"rejectType": "value",
"useTypeDefault": true
}
},
"enableStaging": true,
"stagingSettings": {
"linkedServiceName": {
"referenceName": "StagingForPolyBase",
"type": "LinkedServiceReference"
},
"enableCompression": true
},
"translator": {
"type": "TabularTranslator",
"columnMappings": {
"id": "id",
"cid": "cid",
"role": "role",
"name": "name",
"createdDateTime": "createdDateTime",
"modifiedDateTime": "modifiedDateTime",
"cmcId": "cmcId"
}
}
},
"inputs": [
{
"referenceName": "SourceDataset_ie8",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "DestinationDataset_ie8",
"type": "DatasetReference"
}
]
}
]
},
"type": "Microsoft.DataFactory/factories/pipelines"
}
Я бы хотел, чтобы операция копирования копировала все документы из cosmo db в SQL DWH, а не только в 30.
Я подозреваю, что он копирует только 30 из-за нумерации страниц на cosmo db?