日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

如何兼容HBase 1.0以前的版本

更新時(shí)間:

Tablestore HBase Client目前支持HBase Client 1.0.0及以上版本的API。本文介紹Tablestore HBase Client如何兼容HBase 1.0以前的版本的API。

背景信息

HBase Client 1.0.0版本相對(duì)于之前版本有一些較大的變化,這些變化是不兼容的。

為了協(xié)助一些使用老版本HBase的用戶(hù)能方便地使用表格存儲(chǔ),本文將介紹HBase 1.0相較于舊版本的一些較大變化以及如何使其兼容。

Connection接口

HBase 1.0.0及以上的版本中廢除了HConnection接口,并推薦使用org.apache.hadoop.hbase.client.ConnectionFactory類(lèi),創(chuàng)建一個(gè)實(shí)現(xiàn)Connection接口的類(lèi),用ConnectionFactory取代已廢棄的 ConnectionManagerHConnectionManager。

創(chuàng)建一個(gè)Connection的代價(jià)比較大,但Connection是線(xiàn)程安全的。使用時(shí)可以在程序中只生成一個(gè)Connection對(duì)象,多個(gè)線(xiàn)程可以共享該對(duì)象。

HBase 1.0.0及以上的版本中,您需要管理Connection的生命周期,并在使用完以后將其它close。

最新的代碼如下所示:

Connection connection = ConnectionFactory.createConnection(config);
// ...
connection.close();

TableName類(lèi)

HBase 1.0.0之前的版本中,創(chuàng)建表時(shí)可以使用String類(lèi)型的表名,但是HBase 1.0.0之后需要使用類(lèi) org.apache.hadoop.hbase.TableName。

最新的代碼如下所示:

String tableName = "MyTable";
// or byte[] tableName = Bytes.toBytes("MyTable");
TableName tableNameObj = TableName.valueOf(tableName);

Table、BufferedMutatorRegionLocator接口

HBase Client 1.0.0開(kāi)始,HTable接口已廢棄,取而代之的是Table、BufferedMutatorRegionLocator三個(gè)接口。具體接口說(shuō)明請(qǐng)參見(jiàn)下表。

接口

說(shuō)明

org.apache.hadoop.hbase.client.Table

用于操作單張表的讀寫(xiě)等請(qǐng)求。

org.apache.hadoop.hbase.client.BufferedMutator

用于異步批量寫(xiě),對(duì)應(yīng)于舊版本 HTableInterface接口中的setAutoFlush(boolean)。

org.apache.hadoop.hbase.client.RegionLocator

表分區(qū)信息。

Table、BufferedMutatorRegionLocator三個(gè)接口均非線(xiàn)程安全的,但比較輕量,可以為每個(gè)線(xiàn)程創(chuàng)建一個(gè)對(duì)象。

Admin接口

從 HBase Client 1.0.0開(kāi)始,新接口org.apache.hadoop.hbase.client.Admin取代了HBaseAdmin類(lèi)。由于表格存儲(chǔ)是一個(gè)云服務(wù),大多數(shù)運(yùn)維類(lèi)接口都是自動(dòng)處理的,所以Admin接口中的眾多接口都不會(huì)被支持,具體區(qū)別請(qǐng)參見(jiàn)Tablestore HBase Client支持的功能。

通過(guò)Connection實(shí)例創(chuàng)建Admin實(shí)例的示例如下:

Admin admin = connection.getAdmin();