web-dev-qa-db-ja.com

タイプHTable(config、tablename)は非推奨です。代わりに何を使用しますか?

HTable(config,tablename)の代わりに何を使用できますか?

このメソッドは非推奨です。すべての例で、このコンストラクターまたは別のコンストラクターを使用していることがわかりました。これも非推奨です。

18
dino

HTableオブジェクトを手動で構築することは非推奨になりました。 Connectionを使用して、Table代わりに。

Connectionから、テーブルの実装は Connection.getTable(TableName) で取得されます。

例:

Connection connection = ConnectionFactory.createConnection(config);

Table table = connection.getTable(TableName.valueOf("table1"));

try 
{
   // Use the table as needed, for a single operation and a single thread
} 
finally
{
   table.close();
   connection.close();
}
24
Vinkal

Connection.getTable(TableName)は、テーブルの取得にのみ使用されます。

代わりにテーブルを作成する必要がある場合TableDescriptorBuilderおよびAdmin.createTable(TableDescriptor)を使用します。

例えば:

val tableDescriptor: TableDescriptor = TableDescriptorBuilder
                          .newBuilder(TableName.valueOf("mytable"))
                          .setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder("myId".getBytes).build())
                          .setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder("data".getBytes).build())
                          .build()

admin.createTable(tableDescriptor)
2
Johnny Willer

HTableはクライアントAPIではなくなりました。代わりにテーブルを使用してください。これがAPIドキュメントの説明です ここ

HTableはクライアントAPIではなくなりました。代わりにテーブルを使用してください。これは、hbase-1.0.0の時点でInterfaceAudience.Privateとマークされており、これがHadoopインターフェイス分類で定義されているHBase内部クラスであることを示しています。ソース/バイナリの下位互換性とメソッドの保証はありません。または、クラスが非推奨になることなく変更または削除される可能性があります。

0
fudy