Я работаю в офисе, где SQL Server является основой всего, что мы делаем, от обработки данных до очистки. Мой коллега специализируется на написании сложных функций и хранимых процедур для методической обработки входящих данных, чтобы их можно было стандартизировать и использовать в проектах отчетов, визуализаций и аналитики. До начала работы у меня было очень мало опыта работы с SQL, кроме написания самых простых запросов. Подавляющее большинство моей подготовительной работы по анализу было выполнено в R. Мой начальник настаивает на том, чтобы я улучшил свои навыки работы с SQL, хотя кажется, что очень мало заданий, которые не могут быть выполнены более эффективно и с гораздо меньшим количеством строк кода с использованием R пакеты, такие как dplyr, data.table и tidyr (чтобы назвать несколько). Мой вопрос - имеет ли это смысл?
Пару недель назад я столкнулся с задачей получения списка имен столбцов для каждой строки в таблице, отвечающей определенным критериям, и объединения их в вектор строк. Был сжатый срок, и в то время я испытывал некоторую блокировку и не мог полностью обдумать проблему. Я спросил моего босса, который в свою очередь попросил моего коллегу написать скрипт TSQL для решения проблемы. Пока он работал над этим, я нашел способ сделать это в R, написав довольно простую функцию и применив ее к фрейму данных. Мой коллега вернулся со своим сценарием около двух часов спустя. Было не менее 75 строк, включающих две вложенные петли. Я попросил его сообщить уведомить, когда он закончил работать, и он сказал, что это займет несколько часов. В то же время мой R-скрипт смог зациклить ~ 45 000 записей примерно за 30 секунд.
Правильно ли я предполагаю, что R - намного лучший выбор для очистки и удаления данных? Может быть, разработчик SQL в моем офисе просто неумел? Мне любопытно, если кто-нибудь, кто работал с R и SQL (или Python и SQL в этом отношении), задумался об этом.