有没有可能将数据存储在具有键值的HDFS中?

时间:2019-03-06 10:58:23

标签: nosql hdfs key-value-store

在NoSQL数据库中存储数据可以提供键值存储模型。但是,HDFS是Hadoop生态系统中的分布式文件存储。键值由mapreduce群集使用。因此,此分布仅在处理阶段生成。

我需要知道是否有可能将静态数据存储在HDFS中,其中每个值都将由密钥标识。

1 个答案:

答案 0 :(得分:1)

Hadoop从早期开始就支持SequenceFiles(如果不是从开始就支持)https://wiki.apache.org/hadoop/SequenceFile

这些仅在地图/缩小场景中有用,今天您可能想要使用一种列式格式(镶木地板或兽人)来存储数据,您也可以将其降级为仅包含一个键和一个值,并且与每个键使用多个值一起使用(它们还包含允许您在扫描时跳过数据的元数据(例如,实木复合地板过滤器下推https://drill.apache.org/docs/parquet-filter-pushdown/

请注意,所有这些格式都不会为您提供在线查询功能(例如No-SQL数据库),因为您需要一个no-sql数据库-如果您想要一个将其数据存储在HDFS上的数据库,则可以使用HBase(通过HFile格式)它使用的也是存储在HDFS上的键多值格式)