Я постоянно получаю данные в хранилище BLOB-объектов. У меня изначально есть 5 файлов больших двоичных объектов в хранилище больших двоичных объектов, которые я могу загрузить из большого двоичного объекта в базу данных SQL Azure с помощью Databricks и автоматизировать его с помощью фабрики данных, но проблема в том, что когда новые файлы поступают в хранилище больших двоичных объектов, модули данных загружают эти файлы вместе со старыми файлы и отправляет их в базу данных SQL Azure. Мне не нужны эти старые файлы, каждый раз мне нужен только новый, чтобы одни и те же данные не загружались снова и снова в базу данных SQL Azure.
Я получаю непрерывные файлы больших двоичных объектов в хранилище больших двоичных объектов. Мне нужно загрузить в Databricks и поместить в базу данных SQL Azure. Фабрика данных для организации этого конвейера
comment
Используйте триггер большого двоичного объекта для привязки функции обратного вызова, как описано здесь - docs.microsoft.com/en-us/azure/azure-functions/
- person Arun Selin   schedule 25.11.2019
comment
Эта ссылка дает вам представление о том, как использовать Event Grid для запуска веб-конечных точек в ответ на события в хранилище BLOB-объектов - docs.microsoft.com/en-us/azure/event-grid/
- person Arun Selin   schedule 25.11.2019
comment
Привет, @ArunSelin, я буду использовать блоки данных. Приветствуется любой код Spark Scala, который я могу выполнить в записной книжке databricks.
- person karthik   schedule 25.11.2019
comment
@ArunSelin Я использую блоки данных для преобразования данных blob и помещаю их в базу данных SQL. Но проблема в том, что когда это автоматизировано с использованием ADF, я снова вижу старые данные blob, загруженные в sql.
- person karthik   schedule 25.11.2019
Ответы (1)
Самый простой способ сделать это - просто заархивировать файл, который вы только что прочитали, в новую папку с именем archiveFolder
. Скажем, ваш databricks читает из следующего каталога:
mnt
sourceFolder
file1.txt
file2.txt
file3.txt
Вы запускаете свой код, вы загружаете файлы и загружаете их на SQL-сервер. Затем вы можете просто заархивировать эти файлы (переместить их из sourceFolder
в archiveFolder
. Это можно просто сделать в блоках данных, используя следующую команду
dbutils.fs.mv(sourcefilePath, archiveFilePath, True)
Итак, в следующий раз, когда ваш код будет запущен, у вас будут только новые файлы в вашем sourceFolder
.
person
BICube
schedule
29.11.2019