Я провел много исследований о том, как загружать огромные данные в .txt через R в Teradata DB. Я попытался использовать sqlSave()
RODBC, но это не сработало. Я также ответил на некоторые другие подобные вопросы, например: Написать из R в Teradata в 3.0 ИЛИ Экспорт кадра данных на SQL-сервер с помощью Пакет RODBC ИЛИ Как быстро экспортировать данные с R на SQL Server.
Однако, поскольку структура Teradata каким-то образом отличается от структуры сервера MS SQL, большинство из предложенных вариантов не применимы к моей ситуации. Я знаю, что есть пакет TeradataR, но он не обновлялся примерно 2-3 года назад.
Итак, вот две мои основные проблемы, с которыми я столкнулся: 1. Как массово загрузить (все записи сразу) данные в формате .txt в Teradata с помощью R, если есть какой-либо способ. (До сих пор я пытался использовать для этого только SAS, но мне нужно изучить это в R) 2. Данные большие, например, 500+ МБ, поэтому я не могу загрузить их через R, я уверен, что есть способ обойти это но напрямую получать данные с сервера.
Вот что я пробовал в соответствии с одним из сообщений, но это было для сервера MS SQL:
toSQL = data.frame(...) #this doesn't work for me cause its too big.
write.table(toSQL,"C:\\export\\filename.txt",quote=FALSE,sep=",",row.names=FALSE,col.names=FALSE,append=FALSE);
sqlQuery(channel,"BULK
INSERT Yada.dbo.yada
FROM '\\\\<server-that-SQL-server-can-see>\\export\\filename.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\\n'
)");
* Примечание: в Teradata есть опция для вставки / импорта данных, но это то же самое, что и запись миллионов строк инструкций Insert.
Извините, что на данный момент у меня нет примеров кодов, так как пакет, который я нашел, не тот, который мне следовало бы использовать.
У кого-нибудь есть подобные проблемы / проблемы?
Заранее большое спасибо за вашу помощь!