首页 文章

HBase表大小比hadoop hdfs中的文件大得多

提问于
浏览
3

最近我使用hadoop批量加载将数据放入hbase首先,我调用HDFS API将数据写入hadoop hdfs中的文件,总共7000,000行数据,大小为503MB . 其次,我使用 org.apache.hadoop.hbase.mapreduce.ImportTsvorg.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles 将数据放入hbase .

我做的最重要的事情是使用bulkload工具将数据放入hbase,完成bulkload后,我发现hbase表是1.96GB . hdfs复制是1.我不知道为什么 .

1 回答

  • 3

    存储数据有一些开销,因为您必须存储列限定符的名称等,但不是4x开销 . 我有一些想法,但绝对不介意听到有关数据性质的更多细节,也许还有关于桌面上的统计数据 .

    • 你的 table 上是否开启了压缩?如果数据是在HDFS中压缩的,但是在加载后,它没有被压缩,这可能会导致问题 .

    • 也许HBase无论出于何种原因都不尊重您的复制因素 . 去做一个 hadoop fs -dus /path/to/hbase/table/data 并看看它返回了什么 .

    • 你的专栏资格赛是否相当大?例如, colfam1:abc 非常小,不会占用太多空间,但 colfam1:abcdefghijklmnopqrstuvwxyz 将在宏观方案中占用相当多的空间!

相关问题