Доступ к файлам из удаленных / сетевых расположений в R - PullRequest
2 голосов
/ 27 января 2012

Справочная информация

Я собираюсь собрать фреймворк, включающий R и MySQL, который может обрабатывать реальные данные, разбросанные по нескольким машинам / компьютерам.AFAIU, это хорошая идея, чтобы вывести только (постоянные) полные имена (FQN) различных файлов в БД, вместо того, чтобы помещать туда реальные объекты (изображения, документы, R-объекты и т. Д.)

Теперь я хотел бы, чтобы эта структура была настолько гибкой / универсальной, насколько это возможно, поэтому она должна уметь обрабатывать следующие аспекты:

  • различные структуры каталогов ОС, в основном Windows и Linux
  • разных машин в совершенно разных местах -> разные IP-адреса или DNS-имена, подсети и т. Д.
  • каждый файл данных, где бы он ни находился, должен быть доступен через R на главной машине, чтобы загрузить ипроанализировать данные, содержащиеся в этом файле

К сожалению, все мои знания по сетевым аспектам полностью авто-дидактичны, и я чувствую, что мне здесь не хватает базовых знаний.

Итак, это мои актуальные вопросы:

Вопросы

  1. Какие компоненты пути к файлам актуальны, если я хочу сохранить пути к произвольным дискама каталоги на компе?

    Что-то вроде имя хоста: порт (?) / Буква диска / каталог / подкаталог / filename.fileextension ?

    или это возможно только в том случае, если хостзапускает веб-сервер, такой как Apache, который позволяет мне получить доступ только к определенному каталогу?

  2. Какие компоненты ожидает R, чтобы иметь возможность напрямую загрузить данный файлиз удаленного сетевого расположения?

    Под управлением Windows XP я всегда сопоставлял целевой диск с сетевым диском, затем у R нет проблем с networkdrive / dir / subdir / filename.filext .Но мне интересны необработанные подробности об этом без сетевых дисков.

Follow 2012-01-27

Использование URL-адресов и рассмотрение аспектов безопасности в соответствии с предложениемВинсент, тогда я мог бы использовать все компоненты, которые могут составлять действительный URL, верно?Но, вероятно, только, если есть настоящий веб-сервер, который может обрабатывать учетные данные пользователя.

scheme-specific-part
     |
http://hans:geheim@example.org:80/demo/example.cgi?land=de&city=aa#history
|      |    |      |           | |                 |                |
|      |    |      host        | url-path          searchpart       fragment
|      |    password           port
|      user
scheme 

Обновление 2012-02-01

Я должен сказать, что все еще немного потерян с сетевыми вещами,Мне удалось прочитать локальный файл, подобный этому

path <- url("file:///C:/temp/test.html")
readLines(path)

Пока все хорошо.Но как мне подключиться к другому хосту в сети?Следуя приведенной выше структуре URL, я попробовал что-то вроде

path <- url("http://user:password@141.78.x.x/desiredDirectory")
path <- url("http://user:password@141.78.x.x:80/desiredDirectory")

, но не смог получить действительный (открытый) объект соединения.Хост - это NAS-диск, который требует аутентификации при доступе к своему IP.Любая идея, как я могу подключиться к нему из R?

Может быть, это возможно с некоторой функцией RCurl?

...