在NoSQL数据库中存储数据可以提供键值存储模型。但是,HDFS在Hadoop生态系统中是一种分布式文件存储。Key-value由mapreduce集群使用。因此,此分布仅在处理阶段生成。
我需要知道是否有可能将静态数据存储在HDFS中,其中每个值都由一个键标识。
发布于 2019-03-06 14:08:47
Hadoop从早期(如果不是从一开始就支持) https://wiki.apache.org/hadoop/SequenceFile就支持SequenceFiles。
这些只在map/reduce场景中有用,现在你可能想要使用一种列格式(parquet或orc)来存储数据,你也可以降级到只保存一个键和一个值,也可以使用每个键多个值(它们也包含元数据,使你可以在扫描时跳过数据(例如,parquet过滤器下推https://drill.apache.org/docs/parquet-filter-pushdown/) )
请注意,所有这些格式都不会为您提供在线查询功能(如No-SQL数据库),因为您需要一个no-sql数据库-如果您想要一个将其数据存储在HDFS上的数据库,可以使用HBase (顺便说一句,它使用的HFile格式也是存储在HDFS上的键-多值格式)
https://stackoverflow.com/questions/55021429
复制相似问题