Наиболее эффективный способ использования R для импорта данных, хранящихся в корзине Amazon S3, на SQL Server - PullRequest
0 голосов
/ 29 января 2019

У меня есть большое количество больших CSV-файлов (от 1,2 до 1,5 ГБ каждый), хранящихся в корзине Amazon S3.Я хотел бы импортировать / загрузить эти файлы в базу данных Microsoft SQL Server.

Я пытался использовать пакет aws.s3 в R, чтобы справиться с этим, но я ищу руководство о том, каксделать это наиболее эффективно с точки зрения загрузки данных в память / сохранения на физическом диске.

Я также открыт для других рекомендаций о том, как справиться с этим вне R. Спасибо!

1 Ответ

0 голосов
/ 29 января 2019

Вы должны избегать загрузки CSV в R. Каждая реализация SQL имеет способ массового импорта записей в таблицах csv / text.

Я нашел это для сервера SQL:

BULK INSERT Sales.Orders
FROM '\\SystemX\DiskZ\Sales\data\orders.csv'
WITH ( FORMAT='CSV');

https://docs.microsoft.com/en-us/sql/t-sql/statements/bulk-insert-transact-sql?view=sql-server-2017

Таким образом, рабочий процесс в R будет выглядеть следующим образом:

1) циклповерх файлов, позвоните aws ls, чтобы получить список всех файлов

2) aws cp файл на диск

3) Вызвать системную команду для массовой вставки CSV в таблицу (вы можете использовать Rsqliteили другие пакеты R, чтобы помочь автоматизировать команды SQL.)

4) Удалить CSV-файл

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