HBase】【大数据基础】hbase数据库特点

2020-12-27 15:54发布

24条回答
天天
2楼 · 2020-12-27 16:02

HBase分布式数据库具有如下的显著特点:

容量大:HBase分布式数据库中的表可以存储成千上万的行和列组成的数据。

面向列:HBase是面向列的存储和权限控制,并支持独立检索。列存储,其数据在表中是按照某列存储的,根据数据动态的增加列,并且可以单独对列进行各种操作。

多版本:HBase中表的每一个列的数据存储都有多个Version(版本)。一般地,每一列对应着一条数据,但是有的数据会对应多个版本,例如,存储个人信息的HBase表中,如果某个人多次更换过家庭住址,那么记录家庭住址的数据就会有多个版本。

稀疏性:由于HBase中表的列允许为空,并且空列不会占用存储空间,因此,表可以设计的非常稀疏。

扩展性:HBase的底层是依赖于HDFS。当磁盘空间不足时,我们可以动态的增加机器(即DataNode节点服务)来解决,从而避免像关系型数据库那样,进行数据的迁移。

高可靠性:由于HBase底层使用是的HDFS,而HDFS本身具有备份机制,所以在Spark集群出现严重问题时,Replication(即副本)机制能够保证数据不会发生丢失或损坏。


不吃鱼的猫
3楼 · 2020-12-27 16:26

容量大、面向列、多版本

以下五点是 HBase 这个 NoSQL 数据库的要点: 

 

    ① 它介于 nosql 和 RDBMS 之间,仅能通过主键(row key)和主键的 range 来检索数据,仅支 持单行事务(可通过 hive 支持来实现多表 join 等复杂操作)。 

    ② Hbase 查询数据功能很简单, 不支持 join 等复杂操作 

   ③ 不支持复杂的事务(行级的事务) 

   ④ Hbase 中支持的数据类型: byte[] 

   ⑤ 主要用来存储结构化和半结构化的松散数据


我自己打call
5楼 · 2020-12-27 19:05
HBase不是一个关系型数据库,它需要不同的方法定义你的数据模型,HBase实际上定义了一个四维数据模型,下面就是每一维度的定义:

行键:每行都有唯一的行键,行键没有数据类型,它内部被认为是一个字节数组。
列簇:数据在行中被组织成列簇,每行有相同的列簇,但是在行之间,相同的列簇不需要有相同的列修饰符。在引擎中,HBase将列簇存储在它自己的数据文件中,所以,它们需要事先被定义,此外,改变列簇并不容易。
列修饰符:列簇定义真实的列,被称之为列修饰符,你可以认为列修饰符就是列本身。
版本:每列都可以有一个可配置的版本数量,你可以通过列修饰符的制定版本获取数据。


无需指教
6楼 · 2020-12-28 08:42

HBASE数据库

1. Hbase基础

1.1 hbase数据库介绍

1、简介nosql

hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系+
统。
它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。
phoneinex

主要用来存储结构化和半结构化的松散数据。

Hbase查询数据功能很简单,不支持join等复杂操作,不支持复杂的事务(行级的事务)

Hbase中支持的数据
类型:byte[]

与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

HBase中的表一般有这样的特点:

 大:一个表可以有上十亿行,上百万列 T
 面向列:面向列(族)的存储和权限控制,列(族)独立检索。
 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
 /hbase/aaa/ /bbb/ddy

2、表结构逻辑视图

HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族(column family)
这里写图片描述
Name:zhangsan , age:18 sex : male
Byte

001 002….009 0010 0011
Abcd
A xxxxx
B ooooo

姓名–年龄–地点–订单编号–xx 64kb

地点—年龄—姓名

Zhang-18

构建二级所引

Bj-20-张

Cell 123 4

3、Row Key

1,2,3,,,,10 11 101 103
与nosql数据库们一样,row key是用来检索记录的主键。访问hbase table中的行,只有三种方式:
1 通过单个row key访问
2 通过row key的range
3 全表扫描
Row key行键 (Row key)可以是任意字符串(最大长度是 64KB,实际应用中长度一般为10-100bytes),在hbase内部,row key保存为字节数组。
Hbase会对表中的数据按照rowkey排序(字典顺序)

存储时,数据按照Row key的字典序(byte order)排序存储。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。(位置相关性)
注意:
字典序对int排序的结果是
1,10,100000001,11,12,13,14,15,16,17,18,19,2,20,21,…,9,91,92,93,94,95,96,97,98,99。要保持整形的自然序,行键必须用0作左填充。
行的一次读写是原子操作 (不论一次读写多少列)。这个设计决策能够使用户很容易的理解程序在对同一个行进行并发更新操作时的行为。

4、列族(面向列进行存储的)

hbase表中的每个列,都归属与某个列族。列族是表的schema的一部分(而列不是),必须在使用表之前定义(必须在创建表的时候定义)。
列名都以列族作为前缀。例如courses:history , courses:math 都属于 courses 这个列族。
访问控制、磁盘和内存的使用统计都是在列族层面进行的。
列族越多,在取一行数据时所要参与IO、搜寻的文件就越多,所以,如果没有必要,不要设置太多的列族

5、时间戳

HBase中通过row和columns确定的为一个存贮单元称为cell。每个 cell都保存着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。时间戳可以由hbase(在数据写入时自动 )赋值,此时时间戳是精确到毫秒的当前系统时间。时间戳也可以由客户显式赋值。如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。

为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担,hbase提供了两种数据版本回收方式:
HColumnDescriptor
.setTimeToLive(毫秒)
.setInMemory(boolean)
.setMaxVeisons(8)
.setMinVeisons(8)

 保存数据的最后n个版本
 保存最近一段时间内的版本(设置数据的生命周期TTL)。
用户可以针对每个列族进行设置。

6、Cell

由{row key, column( = + 


一、Hbase数据库介绍

     1、简介

      HBase 是 BigTable 的开源 java 版本。是建立在 HDFS 之上,提供高可靠性、高性能、列存储、 可伸缩、实时读写 NoSQL 的数据库系统。 

      NoSQL = NO SQL
     NoSQL = Not Only SQL
     把 NoSQL 数据的原生查询语句 封装成 SQL
     HBase Phoenix


   以下五点是 HBase 这个 NoSQL 数据库的要点:

 

    ① 它介于 nosql 和 RDBMS 之间,仅能通过主键(row key)和主键的 range 来检索数据,仅支 持单行事务(可通过 hive 支持来实现多表 join 等复杂操作)。 

    ② Hbase 查询数据功能很简单, 不支持 join 等复杂操作

   ③ 不支持复杂的事务(行级的事务)

   ④ Hbase 中支持的数据类型: byte[]

   ⑤ 主要用来存储结构化半结构化的松散数据。

      结构化:数据结构字段含义确定,清晰,典型的如数据库中的表结构.
     半结构化:具有一定结构,但语义不够确定,典型的如 HTML 网页,有些字段是确定的(title), 有些不确定(table)
     非结构化:杂乱无章的数据,很难按照一个概念去进行抽取,无规律性

  与 hadoop 一样, Hbase 目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加 计算和存储能力。 
HBase 中的表一般有这样的特点:
   (1) 大:一个表可以有上十亿行,上百万列
   (2) 面向列: 面向列()的存储和权限控制,列()独立检索。  (同时对两个列做处理,并不影响)
   (3) 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
    2、表结构逻辑视图

HBase 以表的形式存储数据。表有行和列组成。列划分为若干个列簇 (column family)     建表语句只需表名和列族名

   3、RowKey

与 nosql 数据库们一样,row key 是用来检索记录的主键。访问 hbase table 中的行,只有三种 方式:
 (1) 通过单个 row key 访问
 (2) 通过 row key 的 range
 (3) 全表扫描
Row key 行键 (Row key)可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes), 最好是 16或者8。 在 hbase 内部, row key 保存为字节数组。 Hbase 会对表中的数据按照 rowkey 排序(字典顺序)

存储时,数据按照 Row key 的字典序(byte order)排序存储。设计 key 时,要充分排序存储这 个特性,将经常一起读取的行存储放到一起。 (位置相关性
注意:
字典序对 int 排序的结果是
1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,,9,91,92,93,94,95,96,97,98,99。要保持整形的自 然序,行键必须用 作左填充。
行的一次读写是原子操作 (不论一次读写多少列)。这个设计决策能够使用户很容易的理解 程序在对同一个行进行并发更新操作时的行为。 
    

   4、列簇

hbase 表中的每个列,都归属与某个列族。列族是表的 schema 的一部分(而列不是),必须在 使用表之前定义。 

列名都以列族作为前缀。例如 courses:history , courses:math 都属于 courses 这个列族。 访问控制、磁盘和内存的使用统计都是在列族层面进行的。
列族越多,在取一行数据时所要参与 IO、搜寻的文件就越多,所以,如果没有必要,不要 设置太多的列族 
(每个列族存放在不同的文件中,建表时列族越少越好)

    5、时间戳

HBase 中通过 row 和 columns 确定的为一个存储单元称为 cell。每个 cell 都保存着同一份数 据的多个版本。版本通过时间戳来索引。时间戳的类型是 64 位整型。时间戳可以由 hbase(在 数据写入时自动 )赋值,此时时间戳是精确到毫秒的当前系统时间。时间戳也可以由客户显
式赋值。如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。每个 cell 中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。 

为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担, hbase 提供了两种数据版 本回收方式: 
      保存数据的最后 个版本
      保存最近一段时间内的版本(设置数据的生命周期 TTL)。

用户可以针对每个列族进行设置。
    6、cell

{row key, column( = +

 

二、Hbase集群架构

     

 

三、hbase集群搭建

    1、安装步骤:

       先安装zookeeper集群

10、 如果有节点相应的进程没有启动,那么可以手动启动
      hbase-daemon.sh start master
      hbase-daemon.sh start regionserver

四、hbase命令行演示

     1、 先进入 hbase shell 命令行
        在你安装的随意台服务器节点上,执行命令: hbase shell,会进入到你的 hbase shell 客 户端 
     
2、 进入之后先别着急,先看一下提示。 其实是不是有一句很重要的话:

        HBase Shell; enter 'help' for list of supported commands.
       Type "exit" to leave the HBase Shell
       意在告诉怎么获得帮助,怎么退出客户端
       help 获取帮助
       help 获取所有命令提示
       help "dml" 获取一组命令的提示
       help "put" 获取一个单独命令的提示帮助
        exit 退出 hbase shell 客户端

     3、下面真正进入命令的演示

         (1)显示hbase中的表: list

         (2) 第一个表名,多个列簇:            

                 create 'user_info',{NAME=>'base_info',VERSION=>3 },{NAME=>'extra_info',VERSION=>1 }
                 put 'user_info', 'user0000', 'base_info:name', 'luoyufeng'
                 put 'user_info', 'user0000', 'base_info:age', '18'
                 put 'user_info', 'user0000', 'base_info:gender', 'female'
                 put 'user_info', 'user0000', 'extra_info:size', '34'

                获取数据:get 'user_info', 'user0000'

        (3)查看集群状态 status     查看集群的版本信息version

      4、(1)ddl操作

             列出所有表 :list

             创建表:create 'user', 'info1', 'data1'      表名:user,包含info1和data1两个列簇

                        或者  create 'table_test1',{NAME => 'cf1', VERSIONS => 3}, {NAME => 'cf2', VERSIONS => 2}  好处就是可以方便我们给表的每个列簇设置一些属性,如果按照上面的方 式创建,那就表示所有的列簇的属性都是取默认值

             查看表的详细信息:desc 'user'

             alter修改表的定义:

                         增加列簇:alter 'table','liezu'    或者alter 'table_test', {NAME => 'another_family', VERSIONS => 4}

                         删除列簇:alter 'table_test', {NAME => 'another_family', METHOD => 'delete'}  或者 alter 'table_test', 'delete' => 'add_family'

             查看表存在不存在:exists 'table'       

            disable 使表失效
            enable 启用表
            is_disabled 判断表是否是失效状态
            is_enabled 判断表是否是启用状态         (删除表之前先使表失效)

           删除表:drop 'table'

          (2)dml操作

               put插入数据: put 'table_test','rk01','cf1:name','huangbo'     或者   put 'table_test','rk01','cf1:age',20,1482077777777    时间戳是可以自己指定的,如若不指定,则会自动获取系统的当前时间的时间戳

               get获取数据: 

                    get 'table_test','rk01                                                                       从 table_test 表中查 rowkey 为 rk01 的所有列簇的所有数据
                    get 'table_test','rk01','cf1:name'                                                      从 table_test 表中查 rowkey 为 rk01 的列为 cf1:name 的最新数据
                    get 'table_test','rk01',{COLUMNS => 'cf1:name', VERSIONS => 3}     从 table_test 表中查 rowkey 为 rk01 的列为 cf1:name 的所有版本数据, 3 个版本

              scan查看某表的数据:                

                    scan 'table_test'
                    scan 'table_test',{COLUMNS => 'cf1:name'}
                    scan 'table_test',{COLUMNS => 'cf1:name', TIMESTAMP => 1482018424571}                 

                    scan 'user', {COLUMNS => 'info:name', VERSIONS => 5}
                    scan 'user', {COLUMNS => ['info', 'data'], FILTER => "(QualifierFilter(=,'substring:a'))"}      查询 user 表中列族为 info 和 data 且列标示符中含有 a 字符的信息

                   scan 'people', {COLUMNS => 'info', STARTROW => 'rk0001', ENDROW => 'rk0003'}          查询 user 表中列族为 info, rk 范围是[rk0001, rk0003)的数据
                   scan 'user',{FILTER=>"PrefixFilter('rk')"}                                                                         查询 user 表中 row key 以 rk 字符开头的

                   scan 'user', {TIMERANGE => [1392368783980, 1392380169184]}                                     查询 user 表中指定范围的数据

                   scan 'car',{LIMIT=>10}

              delete删除数据:  

                      delete 'people', 'rk0001', 'info:name'                               删除 user 表 row key 为 rk0001,列标示符为 info:name 的数据

                     delete 'user', 'rk0001', 'info:name', 1392383705316          删除 user 表 row key 为 rk0001,列标示符为 info:name, timestamp 为 1392383705316 的数据

              清空表中数据:truncate  'table'

              过滤器:               

                    get 'person', 'rk0001', {FILTER => "ValueFilter(=, 'binary:中国')"}
                    get 'person', 'rk0001', {FILTER => "(QualifierFilter(=,'substring:a'))"}
                    scan 'person', {COLUMNS => 'info:name'}
                    scan 'person', {COLUMNS => ['info', 'data'], FILTER => "(QualifierFilter(=,'substring:a'))"}
                    scan 'person', {COLUMNS => 'info', STARTROW => 'rk0001', ENDROW => 'rk0003'}
                    scan 'person', {COLUMNS => 'info', STARTROW => '20140201', ENDROW => '20140301'}
                    scan 'person', {COLUMNS => 'info:name', TIMERANGE => [1395978233636, 1395987769587]}
                   alter 'person', NAME => 'ffff'
                   alter 'person', NAME => 'info', VERSIONS => 10
                   get 'user', 'rk0002', {COLUMN => ['info:name', 'data:pic']}         


小磊子
8楼 · 2020-12-28 09:27

HBASE数据库

1. Hbase基础

1.1 hbase数据库介绍

1、简介nosql

hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系+
统。
它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。
phoneinex

主要用来存储结构化和半结构化的松散数据。

Hbase查询数据功能很简单,不支持join等复杂操作,不支持复杂的事务(行级的事务)

Hbase中支持的数据
类型:byte[]

与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

HBase中的表一般有这样的特点:

 大:一个表可以有上十亿行,上百万列 T
 面向列:面向列(族)的存储和权限控制,列(族)独立检索。
 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
 /hbase/aaa/ /bbb/ddy

2、表结构逻辑视图

HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族(column family)
这里写图片描述
Name:zhangsan , age:18 sex : male
Byte

001 002….009 0010 0011
Abcd
A xxxxx
B ooooo

姓名–年龄–地点–订单编号–xx 64kb

地点—年龄—姓名

Zhang-18

构建二级所引

Bj-20-张

Cell 123 4

3、Row Key

1,2,3,,,,10 11 101 103
与nosql数据库们一样,row key是用来检索记录的主键。访问hbase table中的行,只有三种方式:
1 通过单个row key访问
2 通过row key的range
3 全表扫描
Row key行键 (Row key)可以是任意字符串(最大长度是 64KB,实际应用中长度一般为10-100bytes),在hbase内部,row key保存为字节数组。
Hbase会对表中的数据按照rowkey排序(字典顺序)

存储时,数据按照Row key的字典序(byte order)排序存储。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。(位置相关性)
注意:
字典序对int排序的结果是
1,10,100000001,11,12,13,14,15,16,17,18,19,2,20,21,…,9,91,92,93,94,95,96,97,98,99。要保持整形的自然序,行键必须用0作左填充。
行的一次读写是原子操作 (不论一次读写多少列)。这个设计决策能够使用户很容易的理解程序在对同一个行进行并发更新操作时的行为。

4、列族(面向列进行存储的)

hbase表中的每个列,都归属与某个列族。列族是表的schema的一部分(而列不是),必须在使用表之前定义(必须在创建表的时候定义)。
列名都以列族作为前缀。例如courses:history , courses:math 都属于 courses 这个列族。
访问控制、磁盘和内存的使用统计都是在列族层面进行的。
列族越多,在取一行数据时所要参与IO、搜寻的文件就越多,所以,如果没有必要,不要设置太多的列族

5、时间戳

HBase中通过row和columns确定的为一个存贮单元称为cell。每个 cell都保存着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。时间戳可以由hbase(在数据写入时自动 )赋值,此时时间戳是精确到毫秒的当前系统时间。时间戳也可以由客户显式赋值。如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。

为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担,hbase提供了两种数据版本回收方式:
HColumnDescriptor
.setTimeToLive(毫秒)
.setInMemory(boolean)
.setMaxVeisons(8)
.setMinVeisons(8)

 保存数据的最后n个版本
 保存最近一段时间内的版本(设置数据的生命周期TTL)。
用户可以针对每个列族进行设置。

6、Cell

由{row key, column( = + 


茄子酱
9楼 · 2020-12-28 10:11

以下五点是 HBase 这个 NoSQL 数据库的要点: 

 

    ① 它介于 nosql 和 RDBMS 之间,仅能通过主键(row key)和主键的 range 来检索数据,仅支 持单行事务(可通过 hive 支持来实现多表 join 等复杂操作)。 

    ② Hbase 查询数据功能很简单, 不支持 join 等复杂操作 

   ③ 不支持复杂的事务(行级的事务) 

   ④ Hbase 中支持的数据类型: byte[] 

   ⑤ 主要用来存储结构化半结构化的松散数据。 

      结构化:数据结构字段含义确定,清晰,典型的如数据库中的表结构.
     半结构化:具有一定结构,但语义不够确定,典型的如 HTML 网页,有些字段是确定的(title), 有些不确定(table)
     非结构化:杂乱无章的数据,很难按照一个概念去进行抽取,无规律性


相关问题推荐

  • 回答 1

  • 回答 2

    可以调一下系统时间,使用date命令,一般节点掉了都是时间不同步。

  • 回答 1

    Hbase安装与启动一,前言二,前期准备  2.1 文件下载  2.2 服务器准备三,配置文件配置  3.1 hbase-env.sh  3.2 hbase-site.xml  3.3 regionservers  3.4 将hbase的bin目录添加到环境变量  3.5 Hbase的官方配置文档四,Hbase服务启动  4.1 ...

  • 回答 3

    首先介绍部署 HBase 之前需要做的准备工作,如 Java、SSH 和 Hadoop 这些先决条件的配置;然后介绍如何安装 HBase,以及如何配置集群中相关文件。同时需要注意的是,本节介绍的是分布式 HBase 集群的部署,在对一台机器修改配置文件后需要同步到集群中的所有...

  • 回答 1

    HBase安装HBase的安装也分为三种,单机版、伪分布式、分布式。我们首先来安装单机版。单机版首先我们去官网下载好HBase的安装包;接下来,将压缩包解压缩到你想安装的目录(我解压到的是/app目录):tar -zxvf hbase-2.1.0-bin.tar.gz /app安装单机版很简...

  • 回答 9

    1、查看单行记录:get '表名称', '行名称'2、查看表中的记录总数:count '表名称'3、查看表所有记录:scan 表名称4、查看表某个列所有记录:scan 表名称 , ['列名称:']5、查看有哪些表:list6、查看表结构:describe '表...

  • 回答 15

    hbase与传统数据库的区别1.数据类型:Hbase只有简单的数据类型,只保留字符串;传统数据库有丰富的数据类型。2.数据操作:Hbase只有简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系;传统数据库通常有各式各样的函数和连...

  • 回答 14

    1、HBase写快读慢,HBase的读取时长通常是几毫秒,而Redis的读取时长通常是几十微秒。性能相差非常大。2、HBase和Redis都支持KV类型。但是Redis支持List、Set等更丰富的类型。3、Redis支持的数据量通常受内存限制,而HBase没有这个限制,可以存储远超内存大小...

  • 回答 9

    启动HBase集群:bin/start-hbase.sh单独启动一个HMaster进程:bin/hbase-daemon.sh start master单独启动一个HRegionServer进程:bin/hbase-daemon.sh start regionserver

  • 回答 5

    hbase的八大应用场景1、对象存储:我们知道不少的头条类、新闻类的的新闻、网页、图片存储在HBase之中,一些病毒公司的病毒库也是存储在HBase之中2、时序数据:HBase之上有OpenTSDB模块,可以满足时序类场景的需求3、推荐画像:特别是用户的画像,是一个比较...

  • 回答 1

  • 回答 6

    1、频繁刷写我们知道Region的一个列族对应一个MemStore,假设HBase表都有统一的1个列族配置,则每个Region只包含一个MemStore。通常HBase的一个MemStore默认大小为128 MB,见参数hbase.hregion.memstore.flush.size。当可用内存足够时,每个MemStore可以分配...

  • 回答 3

    避免HBase经常split,产生不必要的资源消耗,提高HBase的性能。

  • 回答 4

    HBase每张表在底层存储上是由至少一个Region组成,Region实际上就是HBase表的分区。HBase新建一张表时默认Region即分区的数量为1,一般在生产环境中我们都会手动给Table提前做 预分区,使用合适的分区策略创建好一定数量的分区并使分区均匀分布在不同regions...

  • 回答 3

    关于每个regionserver节点分区数量大致合理的范围,HBase官网上也给出了定义:Generally less regions makes for a smoother running cluster (you can always manually split the big regions later (if necessary) to spread the data, or re......

没有解决我的问题,去提问