Копирование данных BLOB-объектов в базу данных Sql в фабрике данных Azure с условиями

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

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

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

Inside BLOB File example (5 json present)

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
1
0
799
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

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

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

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

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

Gagan Madaan 23.05.2019 11:20

Как я уже сказал, фабрика данных не изменяет и не фильтрует данные самостоятельно. Вы можете сделать это сейчас с потоками данных, но для этого требуется кластер блоков данных, и это будет намного дороже, чем то, что я предлагаю. Если вы найдете более дешевый способ, чем я сказал, пожалуйста, скажите мне! :)

Martin Esteban Zurita 23.05.2019 13:42

Хорошо спасибо. Поэтому я пошел по дорогому пути блоков данных, но поток данных не поддерживает JSON (мой формат данных). Как теперь его преобразовать? с помощью питона? если да, то не могли бы вы немного рассказать мне о процессе?

Gagan Madaan 18.07.2019 11:43

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

Спасибо за вашу помощь !. Ты прав. Итак, дело в том, что мы экспортируем данные из APP Center в Application Insights, а затем непрерывно экспортируем в учетную запись хранения. Знаете ли вы, есть ли выход в этом цикле, чтобы отфильтровать данные. Или у вас есть другая идея использовать, возможно, другое хранилище для экспорта информации о приложении, чтобы мы могли контролировать изменение данных.

Gagan Madaan 23.05.2019 11:25

Другие вопросы по теме