我一直在使用最新版本的R
arrow
包(arrow_2.0.0.20201106
),该包支持直接读写AWS S3(这太棒了)。
当我写入并读取自己的文件时似乎没有问题(请参见下文):
write_parquet(iris, "iris.parquet")
system("aws s3 mv iris.parquet s3://myawsbucket/iris.parquet")
df <- read_parquet("s3://myawsbucket/iris.parquet")
但是当我尝试读取其中一个示例的 R
arrow
文件时,会得到以下错误:
df <- read_parquet("s3://ursa-labs-taxi-data/2019/06/data.parquet")
Error in parquet___arrow___FileReader__ReadTable1(self) :
IOError: NotImplemented: Support for codec 'snappy' not built
当我检查编解码器是否可用时,它似乎不可用:
codec_is_available(type="snappy")
[1] FALSE
有人知道如何使“snappy”编解码器可用吗?
谢谢, 迈克
###########
跟进
感谢@Neal的答案。这是为我安装了所有必需依赖项的代码。
Sys.setenv(ARROW_S3="ON")
Sys.setenv(NOT_CRAN="true")
install.packages("arrow", repos = "https://arrow-r-nightly.s3.amazonaws.com")
Sys.setenv(ARROW_S3 = "ON")
,然后运行install.packages("arrow", repos = "https://arrow-r-nightly.s3.amazonaws.com")
。我在Ubuntu 18和Ubuntu 20上以这种方式安装了它。Cran版本在我的本地Mac机器上运行良好。我使用夜间构建版本以利用我在Linux上遇到的Cmake版本问题。 - Mike.Gahan