与 HBase 兼容性

最近更新时间:2025-12-24 12:03:43

我的收藏

TDSQL Boundless(HBase 兼容模式)支持的数据类型

序号
数据类型
名称
示例
说明
1
String
字符串数据
"Hello TDSQL World!"

2
Integer
整数数据
12345
边界值:Integer.MAX_VALUE,Integer.MIN_VALUE
3
Long
长整数数据
9876543210L
边界值:Long.MAX_VALUE,Long.MIN_VALUE
4
Double
双精度浮点数
3.141592654
边界值:Double.MAX_VALUE,Double.POSITIVE_INFINITY,Double.NaN
5
Float
单精度浮点数
2.71828f
边界值:Float.MAX_VALUE,Float.POSITIVE_INFINITY,Float.NaN
6
Boolean
布尔值
TRUE

7
Short
短整数
32767

8
Byte
字节数据
127

9
Binary Data
二进制数据模式
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05}

10
ASCII Data
ASCII编码数据
{0x48, 0x65, 0x6C, 0x6C, 0x6F} (Hello)

11
Empty Data
空数据
{}

12
List
列表类型
["product_001", "product_002", "product_003", "product_002"]

13
Set
集合类型
[1001, 1002, 1003, 1004, 1005]

14
Text
文本类型


15
Sparse String
稀疏字符串

HBase
用于存储稀疏的字符串数据,可以节省存储空间
16
Sparse Binary
稀疏字节数组

HBase
用于存储稀疏的二进制数据,可以节省存储空间

接口兼容性

HTable 接口

TDSQL Boundless HBase-Client 客户端实现了 HTableInterface 接口,其接口的兼容性如下:
序号
修饰符和类型
方法和描述
TDSQL Boundless 兼容性
1
Result
append(Append append)
支持
2
Object[]
batch(List<? extends Row> actions)
batch(List, Object[])类似,但返回结果数组,而不是使用结果参数引用。
支持
3
void
batch(List<? extends Row> actions, Object[] results)
批量执行Deletes、Gets、Puts、Increments、Appends 和 RowMutations 的方法。
支持
4
boolean
checkAndDelete(byte[] row, byte[] family, byte[] qualifier, byte[] value,Delete delete)
原子性地检查行/列族/列限定符的值是否与预期值匹配。
不支持
5
boolean
checkAndPut(byte[] row, byte[] family, byte[] qualifier, byte[] value, Put put)
原子性地检查行/列族/列限定符的值是否与预期值匹配。
不支持
6
void
close()
释放所有占用的资源或内部缓冲区中的待处理更改。
支持
7
<T extends CoprocessorProtocol,R>Map<byte[],R>
coprocessorExec(Class protocol, byte[] startKey, byte[] endKey, Batch.Call<T,R> callable)
在选定区域的 CoprocessorProtocol 实例上调用传入的 Batch.Call
不支持
8
<T extends CoprocessorProtocol,R> void
coprocessorExec(Class protocol, byte[] startKey, byte[] endKey, Batch.Call<T,R> callable, Batch.Callback callback)
在选定区域的 CoprocessorProtocol 实例上调用传入的 Batch.Call,并使用回调处理结果。
不支持
9
<T extends CoprocessorProtocol > T
coprocessorProxy(Class protocol, byte[] row)
创建并返回一个代理,用于访问包含指定行的区域中的 CoprocessorProtocol 实例。
不支持
10
void
delete(Delete delete)
删除指定的单元格或行。
支持
11
void
delete(List<Delete> deletes)
批量删除指定的单元格或行。
支持
12
boolean
exists(Get get)
检查表中是否存在Get指定的列。
支持
13
void
执行所有缓冲的 Put 操作。
不支持
14
Result
get(Get get)
从指定行中提取特定的单元格。
支持
15
Result[]
get(List<Get> gets)
批量从指定行中提取特定的单元格。
支持
16
org.apache.hadoop.conf.Configuration
返回当前实例使用的 Configuration 对象。
支持
17
getScanner(byte[] family)
获取当前表中指定列族的扫描器。
支持
18
getScanner(byte[] family, byte[] qualifier)
获取当前表中指定列族和列限定符的扫描器。
支持
19
getScanner(Scan scan)
根据 Scan 对象返回当前表的扫描器。
支持
20
获取当前表的 table descriptor
不支持
21
byte[]
获取当前表的名称。
不支持
22
long
返回当前表的写缓冲区最大大小(以字节为单位)。
不支持
23
Result
increment(Increment increment)
在单个行中增加一个或多个列的值。
支持
24
long
incrementColumnValue(byte[] row, byte[] family, byte[] qualifier, long amount)
原子性地递增指定列的值。
支持
25
long
incrementColumnValue(byte[] row, byte[] family, byte[] qualifier, long amount, Durability durability)
原子性地递增指定列的值。
不支持
26
boolean
检查是否启用了“自动刷新”功能。
不支持
27
void
对单行执行多个原子性突变操作。
支持
28
void
put(List<Put> puts)
批量插入数据到表中。
支持
29
void
put(Put put)
插入数据到表中。
支持
30
void
setAutoFlush(boolean autoFlush)
不支持
31
void
setAutoFlush(boolean autoFlush, boolean clearBufferOnFail)
启用或禁用“自动刷新”功能,并可以选择在失败时清除缓冲区。
不支持
32
void
setWriteBufferSize(long writeBufferSize)
设置缓冲区的大小(以字节为单位)。
不支持

Admin 接口

TDSQL Boundless HBase-Client 客户端实现了 Admin 接口,其接口的兼容性如下:
序号
修饰符和类型
方法和描述
TDSQL Boundless
兼容性
1
void
向现有表添加列族。
不支持
2
void
创建新表。
支持
3
void
deleteColumnFamily(TableName tableName, byte[] columnFamily)
从表中删除列族。
不支持
4
void
deleteTable(TableName tableName)
删除表。
支持
5
void
disableTable(TableName tableName)
禁用表并等待完成。
支持
6
void
enableTable(TableName tableName)
启用表。
支持
7
org.apache.hadoop.conf.Configuration
返回实例使用的配置。
支持
8
Connection
返回此对象使用的连接。
支持
9
getDescriptor(TableName tableName)
获取表描述符。
支持
10
boolean
检查表是否被禁用。
支持
11
boolean
检查表是否启用。
支持
12
获取表描述符列表。
支持
13
列出匹配给定模式的所有用户空间表。
支持
14
列出所有用户空间表的名称。
支持
15
void
majorCompact(TableName tableName)
主压缩表。
不支持
16
void
majorCompact(TableName tableName, byte[] columnFamily)
主压缩表中的列族。
不支持
17
void
修改表中的现有列族。
支持
18
void
修改现有表(更 IRB 友好的版本)。
支持
19
boolean
tableExists(TableName tableName)
检查表是否存在。
支持
20
void
truncateTable(TableName tableName)
截断表。
支持