Можно ли передать java.sql.Connection из Java в R?
Я хочу использовать R внутри моего Java-приложения. Теперь у меня есть некоторый интерфейс, который может запускать R из Java (я думаю, что я буду использовать JRI). Библиотека RJDBC позволяет R подключаться к базе данных с помощью драйвера JDBC.
Я хочу передать открытое соединение из Java-приложения в R, готовое к использованию.
Это возможно?
РЕДАКТИРОВАТЬ: я могу передать параметры для R и открыть новое соединение из R. Я могу получить доступ к объектам Java из R с помощью rJava.
Точка, если это возможно, передать java.sql.Connection
объект, который находится в Java для R и преобразует соединение в объект соединения R, который R использует для доступа к базе данных с помощью RJDBC.
2 ответа
Так что я этого не делал... но я подозреваю, что если вы действительно этого хотите, есть способ. Если вы используете rJava для вызова R из Java (стиль JRI), тогда java-объекты действительно размещаются на JVM, а не на движке R. Таким образом, объект соединения вместе со всеми его ресурсами фактически не будет перемещаться из Java в R, на самом деле все вызовы из R будут перенаправляться в java через rJava, а затем ответ будет отправляться обратно. Так что да, это должно быть возможно. Это звучит как больше работы, чем оно того стоит.
Это не тот ответ, который вы ищете:
Если вам нужно передать соединение, я предполагаю, что у вас есть какой-то недостаток архитектурного дизайна. Скорее держите Соединение в одном месте и передавайте объекты / объекты передачи данных.