Параметр SapHanaDynamicRange Partition в действии копирования фабрики данных Azure
Мне нужно скопировать данные из представления SAP HANA в Azure Datalake. Поскольку эти данные огромны (около 3 миллиардов записей), я использую опцию динамического разделения в источнике копирования.
Настройка My Source:
"source": {
"type": "SapHanaSource",
"query": {
"value": "select * from @{concat(pipeline().parameters.SchemaName, '.', pipeline().parameters.ViewName)} where ?AdfHanaDynamicRangePartitionCondition and (EXTRACT( YEAR FROM AUDIT_LAST_UPDT_GMT_DTTM) = 2019)",
"type": "Expression"
},
"partitionOption": "SapHanaDynamicRange",
"partitionSettings": {
"partitionColumnName": "PD_KEY"
}
}
Эта select
запрос выдает следующую ошибку при выполнении операции копирования
{
"errorCode": "2200",
"message": "ErrorCode=SapHanaFailToGetBoundsDueToInvalidQuery,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Fail to get bounds by using query. Make sure your query can be nested while using partition reading and your partition column data type is acceptable.,Source=Microsoft.DataTransfer.Runtime.SapHanaConnector,''Type=System.Data.Odbc.OdbcException,Message=ERROR [S1000] [SAP AG][LIBODBCHDB DLL][HDBODBC] General error;613 execution aborted by timeout,Source=libodbcHDB.dll,'",
"failureType": "UserError",
"target": "Load_Hana_ADLS",
"details": []
}
Но когда я удаляю это дополнительное предложение where (EXTRACT( YEAR FROM AUDIT_LAST_UPDT_GMT_DTTM) = 2019
), все работает нормально.
Что не так с моим запросом?