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

时间:2012-12-13 07:39:25

标签: hadoop hbase hdfs

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

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

1 个答案:

答案 0 :(得分:3)

存储数据有一些开销,因为你必须存储列限定符的名称等,但不是4x开销。我有一些想法,但绝对不介意听到有关数据性质的详细信息,也许还有关于桌面数据的详细信息。

  • 您的桌子上是否打开了压缩?如果数据是在HDFS中压缩的,但是在加载后,它没有被压缩,这可能会导致问题。
  • 也许HBase无论出于什么原因都不尊重你的复制因素。去做hadoop fs -dus /path/to/hbase/table/data并查看返回的内容。
  • 您的专栏资格赛是否相当大?例如,colfam1:abc非常小,不会占用太多空间,但colfam1:abcdefghijklmnopqrstuvwxyz将在宏观计划中占用相当多的空间!