Как получить соединение базы данных SQL, совместимое с функцией DBI :: dbGetQuery, при конвертации между скриптом R и блоком данных R notebook? - PullRequest
0 голосов
/ 21 июня 2019

У меня есть сценарий R, который использует odbc :: dbConnect для подключения к базе данных SQL (некоторые базы данных являются Azure, некоторые локальные, но подключены к VPN Azure через сеть компании, хотя я не понимаю самой сетевой инфраструктуры), а затем использует DBI :: dbGetQuery для выполнения серии довольно сложных запросов SQL и сохранения результатов в виде R-кадров, которые можно манипулировать и вводить в мои модели.

Из-за недостатка памяти на локальном ПК для запуска сценария мне необходимо перенести сценарий в записную книжку Databricks и запустить его в кластере с более мощным узлом драйвера. Однако у меня заканчивается время, и я не могу или не хочу полностью переписать все, чтобы быть совместимым с sparkR / sparklyr или распараллеливаемым; Я просто хочу, чтобы мой стандартный сценарий R был как можно ближе к сценарию, который я уже написал, с минимальными правками для совместимости со Spark.

Мне известно, что пакеты odbc, RODBC и RJDBC не работают на ноутбуках Databricks. Я рассмотрел использование SparkR :: read.jdbc и Sparklyr :: spark_read_jdbc (), но они непосредственно читают из источника jdbc в фрейм данных SparkR / sparklyr, а не создают соединение, к которому можно получить доступ через DBI :: dbGetQuery, который не является что я пытаюсь сделать Я нигде не могу найти ресурсов, как это сделать, хотя кажется, что это должно быть возможно.

Можно ли каким-либо образом создать с помощью sparklyr (или другого пакета, если необходимо) объект подключения к базе данных, к которому можно получить доступ с помощью DBI :: dbGetQuery?

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