【问题标题】:there is a possibility to store data in HDFS with key-value?有可能用键值将数据存储在 HDFS 中吗?
【发布时间】:2019-03-06 10:58:22
【问题描述】:

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

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

【问题讨论】:

标签: nosql hdfs key-value-store


【解决方案1】:

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

这些仅在 map/reduce 场景中有用,今天您可能希望使用其中一种列格式(parquet 或 orc)来存储您的数据,您也可以将其降级为仅保存一个键和一个值,并且每个键使用多个值(它们还包含元数据,使您能够在扫描时跳过数据(例如镶木地板过滤器下推https://drill.apache.org/docs/parquet-filter-pushdown/

请注意,所有这些格式都不会为您提供在线查询功能(如 No-SQL 数据库),因为您需要一个 no-sql 数据库 - 如果您想要一个将其数据存储在 HDFS 上的 HBase(顺便说一下 HFile 格式它使用的也是存储在HDFS上的key-multi-value格式)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 2011-08-14
    • 2022-05-31
    • 1970-01-01
    相关资源
    最近更新 更多