Параметр SapHanaDynamicRange Partition в операции копирования Azure фабрики данных - PullRequest
0 голосов
/ 07 мая 2020

Мне нужно скопировать данные из представления SAP HANA в Azure Datalake. Поскольку эти данные огромны (около 3 миллиардов записей), я использую параметр раздела Dynami c в источнике копирования.

Настройка 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), все работает нормально.

Что не так с моим запросом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...