使用Spark从HDFS下载后将HDF 5文件转换为可读/可用数据

egmofgnx  于 2023-03-16  发布在  HDFS
关注(0)|答案(1)|浏览(241)

我正在尝试下载HDF 5格式的文件数据集。所有文件都位于我设置的HDFS中。我想使用Spark下载文件,然后以某种方式转换它们。我还没有想出如何将HDF 5文件转换为可用/可读的文件。是否可以将它们转换为 Dataframe ,然后在Pandas上工作?
任何帮助都是感激的。先谢了
我试着阅读了一些关于 Package 类等的文档,但我对编程相当陌生,有点迷失。我以前处理过csv文件,使用Spark从HDFS下载它们,然后在 Dataframe 上运行Panda命令,效果完美,但我在HDF 5格式上很挣扎。

qybjjes1

qybjjes11#

这在某种程度上是推测性的,因为我没有HDFS文件系统来测试它。
不过,据我所知,你可以
使用h5py,你可以使用driver="fileobj"参数read HDF5 files from file-like objects,也就是说,理论上应该可以:

from pydoop import hdfs
import h5py

with hdfs.open('/user/myuser/filename') as f:
    with h5py.File(f, driver='fileobj') as h:
        dataset = h['/group/dataset']
        content = dataset[:]

似乎也有an HDFS driver for the HDF5 library,但编译并让它与h5py或PandasHDFStore一起工作可能是具有挑战性的。

相关问题