【问题标题】:working with big scientific data on Hadoop在 Hadoop 上处理大科学数据
【发布时间】:2012-07-24 03:15:42
【问题描述】:

我目前正在启动一个名为“使用 Hadoop 进行时间序列挖掘算法的云计算”的项目。 我拥有的数据是大小超过 TB 的 hdf 文件。在 hadoop 中,我知道我们应该将文本文件作为输入以进行进一步处理(map-reduce 任务)。所以我有一个选择,我将所有 .hdf 文件转换为文本文件,这将花费大量时间。

或者我找到了一种在 map reduce 程序中使用原始 hdf 文件的方法。 到目前为止,我还没有成功找到任何读取 hdf 文件并从中提取数据的 java 代码。 如果有人对如何处理 hdf 文件有更好的了解,我将非常感谢您的帮助。

谢谢 阿尤什

【问题讨论】:

    标签: hadoop mapreduce hdf5 netcdf


    【解决方案1】:

    这里有一些资源:

    • SciHadoop(使用 netCDF,但可能已经扩展到 HDF5)。
    • 您可以使用JHDF5 或下级官方Java HDF5 interface 从map-reduce 任务中的任何HDF5 文件中读取数据。

    【讨论】:

    • 谢谢。你知道一些教程来学习使用这个(第二个选项)
    【解决方案2】:

    如果您没有找到任何 java 代码并且可以使用其他语言进行操作,那么您可以使用 hadoop 流。

    【讨论】:

    • 什么是 Hadoop 管道以及它如何帮助读取 HDF5?
    【解决方案3】:

    对于您的第一个选项,您可以使用HDF dump 之类的转换工具将 HDF 文件转储为文本格式。否则,您可以使用 Java 库编写程序来读取 HDF 文件并将其写入文本文件。

    对于您的第二个选项,SciHadoop 是一个很好的示例,说明如何从 Hadoop 读取科学数据集。它使用 NetCDF-Java 库来读取 NetCDF 文件。 Hadoop 不支持文件 IO 的 POSIX API。因此,它使用额外的软件层将 NetCDF-java 库的 POSIX 调用转换为 HDFS(Hadoop) API 调用。如果 SciHadoop 尚不支持 HDF 文件,您可能会走上更艰难的道路并自己开发类似的解决方案。

    【讨论】:

    • 谢谢第一个选项对我来说似乎更合理。
    【解决方案4】:

    SciMATE http://www.cse.ohio-state.edu/~wayi/papers/SciMATE.pdf 是一个不错的选择。它是基于 MapReduce 的一个变体开发的,它已被证明比 Hadoop 更高效地执行许多科学应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      • 2021-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多