在HBase中创建表时,需要指定一些参数来定义表的结构和属性。以下是一些常用的参数:
-
表名(Table Name):
- 必需参数,用于指定新表的名称。
-
列族(Column Family):
- 必需参数,用于指定表中的列族。列族是HBase中存储数据的基本单位,每个列族可以有不同的属性和存储配置。
- 示例:
cf1
、cf2
-
列限定符(Column Qualifier):
- 非必需参数,用于在列族下指定具体的列限定符。列限定符用于区分同一列族中的不同数据项。
- 示例:
column1
、column2
-
时间戳(Timestamp):
- 非必需参数,用于指定数据的创建或更新时间。HBase会为每个单元格存储一个时间戳,以便进行版本控制和垃圾回收。
- 示例:
1633024800000
(表示2021年10月1日0点的时间戳)
-
块大小(Block Size):
- 非必需参数,用于指定HBase中存储数据的最小单位(Block)的大小。默认值为1MB。
- 示例:
64m
(表示64MB)
-
最大版本数(Max Versions):
- 非必需参数,用于指定HBase中单元格可以存储的最大版本数。默认值为3。
- 示例:
5
-
行键(Row Key):
- 非必需参数,用于指定HBase中数据的行键。行键是HBase中数据存储和检索的关键,具有唯一性。
- 示例:
row1
、row2
-
TTL(Time To Live):
- 非必需参数,用于指定数据在HBase中的生存时间(以秒为单位)。默认值为0,表示数据永不过期。
- 示例:
86400
(表示一天)
-
压缩(Compression):
- 非必需参数,用于指定数据的压缩算法。HBase支持多种压缩算法,如Snappy、LZO等。
- 示例:
SNAPPY
、LZO
-
存储策略(Storage Policy):
- 非必需参数,用于指定数据的存储策略。HBase支持多种存储策略,如ONE、ALL、TIME_TO_LIVE等。
- 示例:
ONE
、ALL
-
分区和副本数(Region and Replication Factor):
- 非必需参数,用于指定表的分区数和副本数。默认情况下,HBase会自动管理表的分区和副本数。
- 示例:
NUMREGIONS=10
,REPLICATION_FACTOR=3
以下是一个创建表的示例命令:
create 'myTable', 'cf1', {NUMREGIONS=10, REPLICATION_FACTOR=3}, {TTL=86400, COMPRESSION='SNAPPY'}
这个命令将创建一个名为myTable
的表,包含一个列族cf1
,设置10个区域和3个副本数,数据的TTL为一天,并使用Snappy压缩算法。