内容

RHDF5提供有限的支持,仅阅读对存储在Amazon S3存储桶中的HDF5文件的访问。这是通过HDF5 S3虚拟文件驱动程序并允许访问公共和私有S3存储桶中托管的HDF5文件。

目前只有功能H5LS(),,,,H5DUMP()H5Read()得到支持。

图书馆(RHDF5)

1公共S3存储桶

要访问公共Amazon S3存储桶中的文件,您将文件的URL提供给文件争论。您还需要设置参数s3 = true, 否则H5LS()将把URL视为当地磁盘失败的路径。

public_s3_url < - “ https://rhdf5-public.s3.eu-central-1.amazonaws.com/h5ex_t_array.h5” h5ls(file = public_s3_url,s3 = true)
##组名称Otype DCLASS DIM ## 0 / DS1 H5I_DATASET数组4

相同的参数也适用于使用H5DUMP()检索文件的内容。

public_s3_url < - “ https://rhdf5-public.s3.eu-central-1.amazonaws.com/h5ex_t_cmpd.h5” h5dump(file = public_s3_url,s3 = true)
## $ ds1 ##序列号位置温度(F)压力(INHG)## 1 1153外部(静态)53.23 24.57 ## 2 1184 Intake 55.12 22.95 ## 3 1027进气歧管103.55 103.55 31.23 ## 4 1313排气歧管1252.89 84.1111

除了检查和读取整个文件外,我们还可以仅提取一个子集,而无需读取或下载整个文件。在下面的示例中,我们使用H5LS()要检查S3存储桶中的文件并确定其中数据集的名称(A1)和该数据集的尺寸数(3)。然后我们可以使用H5Read()随着姓名指数参数仅将数据集的一个子集读取到我们的R会话中。

public_s3_url < - 'https://rhdf5-public.s3.eu-central-1.amazonaws.com/rhdf5ex_t_float_3d.h5'h5ls(file = public_s3_url,s3 = true)
##组名称Otype DCLASS DIM ## 0 / A1 H5I_DATASET FLOAT 5 x 10 x 2
h5read(public_s3_url,name =“ a1”,index = list(1:2,3,null),s3 = true)
##,1 ## ## [,1] ## [1,] 0.2444485 ## [2,] 0.3873723 ## ## ##,,2 ## ## [,1] ## [1,] 0.7906603##[2,] 0.3274960

2私人S3存储桶

要访问私人Amazon S3存储桶中的文件,您需要提供三个其他详细信息:托管文件的AWS区域,您的AWS访问密钥ID以及AWS Secret Access键。有关如何获取AWS访问键的更多信息,请参见AWS安全凭证

这三个值需要存储在下面的列表中。重要说明:目前,它们必须按照此特定顺序。

##这些是示例凭据,不会工作s3_cred <-list(aws_region =“ eu-central-1”,access_key_id =“ akiaiosfodnn7example”,secret_access_key =“ wjalrxutnfemi/k7mdeng/k7mdeng/k7mdeng/k7mdeng/bpxrficyexamplekey”)

最后,我们将此列表传递给H5LS()通过s3credentials争论。

public_s3_url < - “ https://rhdf5-private.s3.eu-central-1.amazonaws.com/h5ex_t_array.h5”

s3credentials参数以完全相同的方式使用H5DUMP()H5Read()

3会话信息

SessionInfo()
## R版本4.2.0 RC(2022-04-19 R82224)##平台:x86_64-pc-linux-gnu(64位)### blas:/home/biocbuild/bbs-3.15-bioc/r/lib/libblas.so ## lapack:/home/biocbuild/bbs-3.15-bioc/rib/lib/libb/librlapack.so ### ## ## locale:## [1] lc_ctype = en_us.utf-8 lc_numeric = c ## [3] lc_time = en_gb lc_collat​​e = c ## [5] lc_us.us.utf-8 lc_messages = en_us.utf-8 ## [7]lc_paper = en_us.utf-8 lc_name = c ## [9] lc_address = c lc_telephone = c ## [11] lc_measurement = en_us.utf-8 lc_istientification = c ## ## ## ## ##附件:图形GRDEVICES UTILS数据集方法基础## ##其他附件:## [1] ggplot2_3.3.5 dplyr_1.0.0.8 rhdf5_2.40.0 biocstyle_2.24.0 ## ## ## ## ## ## ##通过namespace(和未连接)加载RCPP_1.0.8.3 HIGHR_0.9 BSLIB_0.3.1 ## [4] Compiler_4.2.0 Pillar_1.7.0 Biocmanager_1.30.17 ## [7]gtable_0.3.0 ## [13] jsonlite_1.8.0 evaluaTE_0.15 LifeCycle_1.0.1 ## [16] Tibble_3.1.6 PKGCONFIG_2.0.3 Rlang_1.0.2 ## [19] Cli_3.3.0 DBI_3.0 DBI_1.1.1.1.2 Magick_2.7.3 ## [22] Microbenchmark_1.1.4.4.9 yamll_2.5 xfun[25] fastmap_1.1.0 withr_2.5.0 stringr_1.4.0 ## [28] knitr_1.38 generics_0.1.2 vctrs_0.4.1 ## [31] sass_0.4.1 bit64_4.0.5 grid_4.2.0 ## [34] tidyselect_1.1.2 glue_1.6.2 r6_2.5.1 ## [37] fansi_1.0.3 rmarkDown_2.14 bookdown_0.0.26 ## [40] farver_2.1.0 rhdf5lib_1.1.18.0 purrr_0.3.4 ## 4 ## [43] magrittr_2.0.3.0.3 codetools_0.0.0.0.2-18 scales_2.0.0.0.1.1.1.1.2.0.0p.0.porr_2.0.0.porrr_2.0.0.porr_2.0.0.1.0.1.1.0.porrr_2.0.0.porrr_2.0.0.2.0.0.1.1.1.2.0.porrr_2.0.0.porrr_3.4 [46] htmltools_0.5.2 ellipsis_0.3.2 assertthat_0.2.1 ## [49] colorspace_2.0-3 labeling_0.4.2 utf8_1.2.2 ## [52] stringi_1.7.6 munsell_0.5.0 crayon_1.5.1