与数据存储相比,HDF5 的数据检索效率如何?

Sha*_*ang 5 hadoop hdf5 bigdata hdfs apache-spark

我想将一个带键的 500GB 表转储到 HDF5 中,然后检索与特定键匹配的行。

对于 HDF5 文件,所有数据访问等项目都使用整数“行”号,因此似乎我必须在 HDF5 之外实现“行号映射的键”。

使用像 Hadoop 或 Spark 这样使用 HDFS 的分布式系统,检索不是更高效吗?我应该使用分布式系统来实现映射/哈希函数吗?

sid*_*ain 3

是的,使用 HDFS 可以更高效,
但是要使其更高效,最好的情况是使用 Hive 而不是 HDFS,因为 Map reduce 不提供任何默认方式来按键分离数据。如果您想按键分隔数据,则需要为其编写代码。

但是在 Hive 的情况下,您可以更有效地查询数据,因为 hive 为您提供了许多内置查询命令,例如 ex--> 按键、按值分隔等。由于 Hive 使用 Sql 查询,因此也更易于使用。

有关查询 HDFS 的不同方式的更多详细信息,请参阅https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

希望这能回答您的问题。