Ошибка при передаче нулевого десятичного значения в хранилище данных Azure с использованием polybase, включенного в фабрике данных Azure v2 - PullRequest
0 голосов
/ 22 мая 2018

У нас есть конвейер Azure Data Factory v2, который передает данные из базы данных SQL Azure в хранилище данных Azure с использованием многоосновной базы.

Исходная таблица содержит нулевые десятичные значения, но когда ADF пытается обработать нулевое значение, возникает ошибка:

, Ошибки = [{Class = 16, Number = 107090, State = 1, Message = Запрос отменен - ​​максимальный порог отклонения (0 строк) был достигнут при чтении из внешнего источника:1 строка отклонена из общего числа 1 обработанных строк. \ N (/24b40621-2542-4406-8f32-7854fe030292/Polybase/data_24b40621-2542-4406-8f32-7854fe030292_b592f424-dd7b-47af-925f-a2934aea4bumnt: 767), Ожидаемый тип данных: DECIMAL (18,3), Значение обидения: \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \

Мы легко можем устранить эту ошибку с помощью ISNULL (COLUMNNAME), 0) в Source Query, но мы не хотим этого делать.

На официальном сайте обратной связи Azure эта проблема уже давно рассматривается.https://feedback.azure.com/forums/307516-sql-data-warehouse/suggestions/10600192-polybase-fix-file-format-type-default-for-decima

1 Ответ

0 голосов
/ 22 мая 2018

Странно, в документации много говорится о пустых значениях, когда источником является хранилище озера данных или хранилище больших двоичных объектов, но ничего не сказано, когда источником является другая база данных.Изучение документации polybase показывает, что база данных SQL Azure не поддерживается: https://docs.microsoft.com/en-us/sql/relational-databases/polybase/polybase-guide?view=sql-server-2017

Я бы попробовал отключить polybase, чтобы посмотреть, решит ли это проблему.В этом случае производительность снизится, но этого может быть достаточно для удовлетворения ваших потребностей.

Еще один способ работы с polybase - это создание хранимой процедуры в хранилище данных Sql, которая использует polybase для запроса другой базы данных и вызоваэто с фабрикой данных, таким образом, вы будете иметь больше контроля над тем, что делает polybase.

Надеюсь, это помогло!:)

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