【发布时间】:2017-08-14 19:01:40
【问题描述】:
我们将在 AWS 上托管一个 EMR 集群(带有 Spot 实例),该集群在 S3 存储桶之上运行。数据将以 ORC 格式存储在此存储桶中。但是,我们想使用 R 以及某种沙盒环境,读取相同的数据。
我的包 aws.s3 (cloudyr) 运行正常:我可以毫无问题地读取 csv 文件,但似乎不允许我将 orc 文件转换为可读的文件。
我在网上找到的两个选项是 -火花R - 数据连接器(垂直)
由于在 Windows 机器上安装 dataconnector 很麻烦,我安装了 SparkR,现在我可以读取本地 orc.file(我机器上的 R 本地,我机器上本地的 orc 文件)。但是,如果我尝试 read.orc,默认情况下它会将我的路径标准化为本地路径。深入研究源代码,我运行了以下代码:
sparkSession <- SparkR:::getSparkSession()
options <- SparkR:::varargsToStrEnv()
read <- SparkR:::callJMethod(sparkSession, "read")
read <- SparkR:::callJMethod(read, "options", options)
sdf <- SparkR:::handledCallJMethod(read, "orc", my_path)
但是我得到了以下错误:
Error: Error in orc : java.io.IOException: No FileSystem for scheme: https
有人可以帮我解决这个问题,或者指出另一种从 S3 加载 orc 文件的方法吗?
【问题讨论】:
-
您已标记此vertica。您是否已经在使用 R 读取 Vertica 中的数据,并且卡在 ORC/S3 部分?
-
我标记了 vertica,因为 R 包数据连接器是 Vertica 产品。实际上我正在使用 R 来读取 R 本身并且我被困在 ORC 部分(从 S3 读取工作,但不是以可读格式)。
-
什么版本的 Vertica? (最近几年,ORC 集成一直在积极开发中。)我可以在 ORC -> Vertica 方面提供帮助,但我对 R 部分一无所知。这对你有帮助吗?
-
目前它不是一个解决方案,因为它是来自 Vertica 的 R 包,但不是真正的 Vertica。如果我找不到解决方案,我可能会转向 Vertica,然后它会变得很方便。
-
@WannesRosiers 对此有何更新?我目前面临同样的挑战(尝试直接在 R 中从 S3 读取 ORC 文件)。谢谢!