从R中的远程/网络位置访问文件

时间:2012-01-27 12:43:43

标签: mysql r networking filepath

背景

我正在组建一个涉及R和MySQL的框架,可以处理分散在多台机器/计算机上的实际数据。 AFAIU,最好只转储数据库中不同文件的(永久)完全限定名称(FQN),而不是将实际对象放在那里(图像,文档,R对象等)

现在,我希望这个框架尽可能灵活/通用,因此需要能够处理以下几个方面:

  • 不同的操作系统目录结构,主要是Windows和Linux
  • 完全不同位置的不同机器 - >不同的IP或DNS名称,子网等。
  • 每个数据文件,无论它位于何处,都需要通过主机上的R访问,以便加载和分析该文件中包含的数据

不幸的是,我在网络相关方面的整个背景完全是自动教学的,我觉得我在这里缺乏一些基本知识。

所以这些是我的实际问题:

问题

  1. 如果我想将路径存储到计算机上的任意驱动器和目录,那么相关的文件路径组件是什么?

    主机名:端口(?)/ driveletter / directory / subdirectory / filename.fileextension

    或者只有当主机运行Apache等网络服务器才允许我访问某个目录时,这是否可行?

  2. 为了能够直接从远程网络位置加载指定文件,R会期望哪些组件?

    运行Windows XP,我总是将目标驱动器映射到网络驱动器,然后R使用 networkdrive / dir / subdir / filename.filext 没有问题。但是我对没有网络驱动器的原始细节感兴趣。

  3. 跟进2012-01-27

    使用URL并考虑Vincent建议的安全方面,然后我可以使用可以组成有效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函数来实现吗?

0 个答案:

没有答案