如何使用scala api在hbase中列出表htabledescriptor已弃用

yebdmbv4  于 2021-05-27  发布在  Hadoop
关注(0)|答案(0)|浏览(367)

我使用scalaapi来使用hbase。
我已经创建了一个表 emp 在hbase中使用以下代码:

  1. import org.apache.hadoop.hbase.HBaseConfiguration
  2. import org.apache.hadoop.hbase.client.{ColumnFamilyDescriptorBuilder, HBaseAdmin, TableDescriptor, TableDescriptorBuilder}
  3. import org.apache.hadoop.hbase.TableName
  4. import org.apache.hadoop.conf.Configuration
  5. object CreateTable {
  6. def main(args: Array[String]): Unit = {
  7. // Instantiating configuration class
  8. val con: Configuration = HBaseConfiguration.create()
  9. // Instantiating HbaseAdmin class
  10. val admin: HBaseAdmin = new HBaseAdmin(con)
  11. // Instantiating table descriptor class
  12. val tableDescriptor: TableDescriptor = TableDescriptorBuilder
  13. .newBuilder(TableName.valueOf("emp"))
  14. .setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder("personal".getBytes).build())
  15. .setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder("professional".getBytes).build())
  16. .build()
  17. admin.createTable(tableDescriptor)
  18. println(" Table created ")
  19. }
  20. }

这个 pom.xml 具有以下依赖关系:

  1. <dependencies>
  2. <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
  3. <dependency>
  4. <groupId>org.apache.spark</groupId>
  5. <artifactId>spark-core_2.11</artifactId>
  6. <version>2.3.0</version>
  7. <scope>provided</scope>
  8. </dependency>
  9. <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
  10. <dependency>
  11. <groupId>org.apache.spark</groupId>
  12. <artifactId>spark-sql_2.11</artifactId>
  13. <version>2.3.0</version>
  14. <scope>provided</scope>
  15. </dependency>
  16. <!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase -->
  17. <dependency>
  18. <groupId>org.apache.hbase</groupId>
  19. <artifactId>hbase</artifactId>
  20. <version>2.0.2</version>
  21. <type>pom</type>
  22. </dependency>
  23. <!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-client -->
  24. <dependency>
  25. <groupId>org.apache.hbase</groupId>
  26. <artifactId>hbase-client</artifactId>
  27. <version>2.0.2</version>
  28. </dependency>
  29. </dependencies>

我使用这段代码列出hbase中的表,但是 HtableDescriptor 已弃用方法:

  1. import org.apache.hadoop.conf.Configuration
  2. import org.apache.hadoop.hbase.HBaseConfiguration
  3. import org.apache.hadoop.hbase.HTableDescriptor
  4. import org.apache.hadoop.hbase.client.HBaseAdmin
  5. object ListTable {
  6. def main(args: Array[String]): Unit = {
  7. // Instantiating configuration class
  8. val con: Configuration = HBaseConfiguration.create()
  9. // Instantiating HbaseAdmin class
  10. val admin: HBaseAdmin = new HBaseAdmin(con)
  11. // Getting all the list of tables using HBaseAdmin object
  12. val tableDescriptor: Array[HTableDescriptor] = admin.listTables()
  13. for (i <- 0 until tableDescriptor.length) {
  14. println(tableDescriptor(i).getNameAsString)
  15. }
  16. }
  17. }

用什么,怎么用,谢谢你的时间。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题