Hadoop 在HBase与拼花文件中存储数据

Hadoop 在HBase与拼花文件中存储数据,hadoop,hbase,parquet,phoenix,Hadoop,Hbase,Parquet,Phoenix,我是大数据新手,正在尝试了解各种数据持久化和检索方法。 我知道Parquet和HBase都是面向列的存储格式,但Parquet是面向文件的存储,不像HBase那样是数据库。 我的问题是: 使用拼花地板代替HBase的用例是什么 是否存在可以与HBase一起使用镶木地板的用例 在执行连接的情况下,拼花地板的性能是否比 HBase(比如说,通过Phoenix之类的SQL皮肤访问) 正如您在问题中已经说过的,拼花地板是一种存储,而HBase是存储(HDFS)+查询引擎(API/shell),因此应该在

我是大数据新手,正在尝试了解各种数据持久化和检索方法。 我知道Parquet和HBase都是面向列的存储格式,但Parquet是面向文件的存储,不像HBase那样是数据库。 我的问题是:

  • 使用拼花地板代替HBase的用例是什么
  • 是否存在可以与HBase一起使用镶木地板的用例
  • 在执行连接的情况下,拼花地板的性能是否比 HBase(比如说,通过Phoenix之类的SQL皮肤访问)

  • 正如您在问题中已经说过的,拼花地板是一种存储,而HBase是存储(HDFS)+查询引擎(API/shell),因此应该在拼花地板+黑斑羚/蜂巢/火花和HBase之间进行有效的比较。以下是主要区别-

    1) 磁盘空间-与HBase相比,拼花地板占用的磁盘空间更少。拼花编码比HBase中的块压缩节省更多空间

    2) 数据摄取-拼花地板中的数据摄取比HBase更有效。一个简单的原因可能是第1点。对于拼花地板,需要在磁盘上写入的数据更少

    3) 键上的记录查找-HBase更快,因为它是键值存储,而拼花地板不是。拼花地板中的索引将在未来的版本中得到支持

    4) 筛选和其他扫描查询-由于parquet存储了有关存储在行组中的记录的更多信息,因此它可以在扫描数据时跳过大量记录。这就是原因,它比HBase快

    5) 更新记录-HBase提供记录更新,但这在拼花地板中可能会有问题,因为拼花地板文件需要重新写入。仔细设计模式和分区可能会改进更新,但这与HBase不可比

    通过比较上述功能,HBase似乎更适合需要更新且查询主要涉及键值查找的情况。涉及键范围扫描的查询在HBase中也会有更好的性能


    Parquet适用于更新很少且查询涉及过滤器、连接和聚合的用例。

    Parquet可以与HBase一起使用有什么原因或方法吗?没有。如果数据已经是Parquet格式,您必须在HBase中接收。哇,这是对一个广泛问题的有效且清晰的回答!你真的应该比较拼花地板和hbase的分区吗?因此,还可以选择对象存储(fs、s3等)?