类型htable(config,tablename)已弃用有什么用呢?

aiazj4mn  于 2021-05-29  发布在  Hadoop
关注(0)|答案(3)|浏览(601)

我可以用什么代替 HTable(config,tablename) ?
此方法已弃用。在每一个例子中,我都能发现他们使用这个或另一个构造函数,这也是不赞成的。

vm0i2vca

vm0i2vca1#

htable不再是客户端api。改用表格。以下是api文档中的描述:
htable不再是客户端api。改用表格。从hbase-1.0.0开始,它被标记为interfaceeaudience.private,表示这是hadoop接口分类中定义的hbase内部类。不能保证向后的源代码/二进制兼容性和方法,或者类可以更改或消失而不被弃用。

sqserrrh

sqserrrh2#

构造 HTable 手动对象已被弃用。请使用 Connection 示例化 Table 相反。
从连接中,使用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();
}
ef1yzkbh

ef1yzkbh3#

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)

相关问题