Какой самый быстрый способ сохранения больших CSV-файлов в базу данных Azure с помощью массовой вставки из SQL? - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь загрузить большой файл с FTP и сохранить его где-нибудь в каком-либо хранилище Azure, а затем запустить BulkInsert в sql на Azure и сохранить данные в таблицу

У меня есть FTP-сервер, который я читаюданные в виде файлов CSV из. Некоторые из этих файлов очень тяжелые, около 1,5 ГБ или даже больше. До сих пор я загружал эти файлы в память, а затем сохранял их в базе данных с помощью C # BulkCopy в Azure, но теперь я получаю эту ошибку OutOfMemoryException, которая, вероятно, связана с размером файла.

Вот почему я думаю об использовании BulkInsert напрямую из SQL на Azure, но тогда этому экземпляру SQL необходим доступ к хранилищу, в которое загружается файл, и, конечно, это не может быть моя локальная машина, потому что кажется, что я не могу запустить команду BulkInsert наSQL Server в Azure, когда исходный файл находится в моем локальном хранилище.

Есть ли способ загрузить и сохранить файл в хранилище Azure, к которому у SQL есть доступ, а затем выполнить BulkInsert?

1 Ответ

0 голосов
/ 01 ноября 2019

Вы можете использовать фабрику данных для копирования данных с FTP на Azure SQL.

Производительность фабрики данных выше для передачи больших данных: enter image description here

Фабрика данных поддерживает FTP как соединитель.

enter image description here

Пожалуйста, обратитесь к этим учебным пособиям:

  1. Копирование данныхс FTP-сервера с помощью фабрики данных Azure
  2. Копирование данных в базу данных SQL Azure с использованием фабрики данных Azure
  3. Копирование данных из BLOB-объекта Azureхранилище в базу данных SQL с помощью инструмента «Копировать данные»

Как загрузить файл непосредственно с FTP в это хранилище на Azure?

Вы используете создание конвейера, используя FTP в качестве источника, хранилище в качестве связанного сервера.

Вы также можете напрямую обрабатывать большой файл с FTP на Azure SQL.

Надеюсь, это поможет.

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