1

我是这个论坛和 hdfs/hbase 的新手。

我在 hbase 上的 hdfs 上创建了一个表。加载的文件在 Windows 磁盘上有 1000 万条记录,大小为 1GB。当文件在 hdfs 上加载时,hdfs 中表的大小为:-

root@narmada:~/agni/hdfs/hadoop-1.1.2# ./bin/hadoop fs -dus /hbase/hdfs_10M
hdfs://192.168.5.58:54310/hbase/hdfs_10M       4143809619

有人可以帮助减小尺寸吗?

表详细信息。

DESCRIPTION                                                                                                  ENABLED
 'hdfs_10M', {NAME => 'v', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0',  true
 VERSIONS => '3', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS => 'fa
 lse', BLOCKSIZE => '65536', IN_MEMORY => 'false', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}
1 row(s) in 0.2340 seconds
4

1 回答 1

0

通常,当我们在 HDFS 上加载文件时,它会将文件分成大小相等的块。默认情况下,此块大小为 64mb。Hadoop 为每个块维护 3 个副本,这意味着如果我们想在 HDFS 上存储 1TB 大小的文件,我们需要一个硬件来存储 3TB。每个块将存储在三个不同的数据节点上。

参考:http ://hadooptutor.blogspot.com/2013/07/replication.html

如果您不需要复制数据,请将以下属性放在您的 hbase 和 hadoop 配置文件中。

<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
于 2013-08-19T07:00:49.437 回答