【问题标题】:python : How can read .h5 file in hdfs?python:如何在 hdfs 中读取 .h5 文件?
【发布时间】:2018-02-01 11:32:29
【问题描述】:

我想使用 hdfs.read() 来获取一个 xxx.h5 文件,但我只是得到一些随机代码,python 如何读取 HDFS 中的 h5 文件?这是我的代码:

from hdfs import *
import pandas as pd
import h5py

c = Client("http://192.168.1.81:50070")
with c.read('/stocks/test/pred/20140103/000001.h5') as reader:
    for line in reader:
        print(line)

如何读取 hdfs 中的 xxx.h5 文件?非常感谢!

【问题讨论】:

  • 我真正的问题是 h5py 如何从内存中读取二进制 h5 文件?因为我从内存中的hadoop读取h5文件,而h5py必须打开文件。这里有一个绕过磁盘IO的方法,很好,谢谢! [这就是答案][1] [1]:stackoverflow.com/questions/11588630/…
  • 也许您在混淆 HDFS(Hadoop 分布式文件系统)和 HDF5(分层分布式格式版本 5)。它们是完全不同的东西。

标签: python hadoop hdfs


【解决方案1】:

您可以直接使用pandas 来读取您的hdfs 文件。

import pandas as pd
url = 'http://192.168.1.81:50070/stocks/test/pred/20140103/000001.h5'
df = pd.read_hdf(url)

假设你的 xxx.h5 是一个有效的 hdfs 文件。

【讨论】:

  • 对不起,我想从hadoop读取h5文件,这个“/path/to/file”是一个url,不是文件路径。
  • 目标是直接在hadoop上读取h5文件,而不是下载文件到本地读取,或者其他方式,谢谢!
  • 在最新版的pandas(0.19.2)中可以直接传url。相应地更新我的答案,以防万一。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-16
  • 2015-12-18
  • 1970-01-01
相关资源
最近更新 更多