R segue createCluster()问题

scr*_*Owl 3 r amazon-ec2 elastic-map-reduce

我正在尝试在EC2上创建一个集群.我有一个帐户设置并通过AWS验证.我已成功下载并安装了segue软件包和相关软件包,并设置了我的AWS凭据.当我尝试创建一个集群时,我的问题开始了,我得到以下内容:

> library(segue)
Loading required package: rJava
Loading required package: caTools
Loading required package: bitops
Segue did not find your AWS credentials. Please run the setCredentials() function.
> setCredentials('', '') #keys hidden

> myCluster <- createCluster(numInstances=5)
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
  com.amazonaws.AmazonClientException: Can't turn bucket name into a URI: Illegal character in authority at index 8: https://c:\users\backup~1\appdata\local\temp\rtmp4u0n8yqaaoducils-segue.s3.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

JD *_*ong 6

acesnap,我是Segue的作者,我可以自信地说,你遇到的问题是该Segue软件包尚未实现在Windows平台上运行.我怀疑问题是windows使用文件路径,临时文件等做有趣的事情.Segue包的服务器端始终是运行Linux的Amazon Elastic Map Reduce服务,但临时文件是在客户端计算机上构建的,因此Segue必须与本地操作系统保持良好的协作.

我可以想到几种解决方法:

  1. 在本地计算机上设置Virtual Box并安装Ubuntu和R.

  2. 设置EC2机器并安装R和Segue,然后使用该机器启动Segue作业.

  3. 购买Mac或在台式机上安装Linux(有点明显,我猜)

即使我的桌面计算机是Mac和Linux,我经常使用#2.我这样做是因为它加速了运行Segue的机器和后端集群之间的通信.它还降低了Segue主机失去与EMR后端连接的可能性.这很有价值,因为如果在作业运行时Segue和亚马逊云之间的通信丢失,那么作业将在云集群上运行,但无法将结果返回到Segue主机(您提交作业的机器).