Копирование данных BLOB-объектов в базу данных SQL в фабрике данных Azure с условиями - PullRequest
1 голос
/ 22 мая 2019

Я выполняю конвейер на основе триггера для копирования данных из хранилища BLOB-объектов в базу данных SQL. В каждом BLOB-файле есть несколько JSON-файлов, из которых мне нужно скопировать лишь несколько из них, и я могу дифференцировать их на основе пары ключ-значение, присутствующей в каждом JSON.

Итак, как отфильтровать те JSON, которые содержат это значение, соответствующее общему ключу?

Один файл Blob выглядит следующим образом. Теперь, когда происходит операция копирования, он должен фильтровать данные в соответствии с именем события: "...".

Inside BLOB File example (5 json present)

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

В настоящее время у нас нет возможности для операции копирования копировать контент (за исключением исходного кода sql).В вашем сценарии это выглядит так, как будто вы уже знаете, какие значения нужно пропустить, в процессе будет действие «Хранимая процедура», после действия копирования, которое будет просто удалять значения, которые вы не хотите из таблицы,это должно быть легко реализовано, но в зависимости от объема данных это может привести к проблемам с производительностью.Другой вариант - очистить JSON-файл на стороне хранилища перед его приемом.

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

Фабрика данных в общем случае только перемещает данные, но не изменяет их. То, что вы пытаетесь сделать, может быть сделано с помощью промежуточной таблицы в приемнике sql.

Сначала вы должны загрузить значения json как есть из хранилища больших двоичных объектов в промежуточной таблице, а затем скопировать его из промежуточной таблицы в реальную таблицу, где вам это нужно, применяя свою логику для фильтрации в команде sql, используемой для извлечения это.

Помните, что базы данных sql имеют встроенные функции для обработки значений json: https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-2017

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

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