首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用hdf5 5/netcdf-4数据使用AWS S3和Apache Spark

用hdf5 5/netcdf-4数据使用AWS S3和Apache Spark
EN

Stack Overflow用户
提问于 2017-04-04 02:18:06
回答 1查看 1.6K关注 0票数 1

我在AWS S3中存储了大量大气数据,我想用Apache来分析这些数据,但是加载到RDD中有很大的困难。我已经在网上找到了一些例子来帮助解决这个问题的不同方面:

-using h5py通过h5py.File(filename) (https://hdfgroup.org/wp/2015/03/from-hdf5-datasets-to-apache-spark-rdds/)读取本地存储的科学数据文件

-boto/boto 3以获取文本文件格式的数据,通过get_contents_as_string()从S3到Spark

通过-map将一组文本文件通过keys.flatMap(mapFunc)发送到RDD

但我似乎不能让这些部件一起工作。具体来说--如何从s3加载netcdf文件(使用boto或直接加载,而不是附加到使用boto)以便使用h5py?或者,您是否可以将netcdf文件视为二进制文件,并将其作为二进制文件加载并使用sc.BinaryFile(binaryFile)映射到rdd。

下面有几个类似的问题没有得到充分的回答,这些问题是相关的:

如何使用boto读取S3上的二进制文件?

在hadoop文件系统上使用pyspark读写2D图像

EN

回答 1

Stack Overflow用户

发布于 2020-03-27 11:47:05

使用netCDF4s3fs模块,您可以:

代码语言:javascript
复制
from netCDF4 import Dataset
import s3fs
s3 = s3fs.S3FileSystem()

filename = 's3://bucket/a_file.nc'
with s3.open(filename, 'rb') as f:
    nc_bytes = f.read()

root = Dataset(f'inmemory.nc', memory=nc_bytes)

确保设置了从S3读取数据。有关详细信息,这里是文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43197223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档