我使用scalaapi来使用hbase。
我已经创建了一个表 emp
在hbase中使用以下代码:
import org.apache.hadoop.hbase.HBaseConfiguration
import org.apache.hadoop.hbase.client.{ColumnFamilyDescriptorBuilder, HBaseAdmin, TableDescriptor, TableDescriptorBuilder}
import org.apache.hadoop.hbase.TableName
import org.apache.hadoop.conf.Configuration
object CreateTable {
def main(args: Array[String]): Unit = {
// Instantiating configuration class
val con: Configuration = HBaseConfiguration.create()
// Instantiating HbaseAdmin class
val admin: HBaseAdmin = new HBaseAdmin(con)
// Instantiating table descriptor class
val tableDescriptor: TableDescriptor = TableDescriptorBuilder
.newBuilder(TableName.valueOf("emp"))
.setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder("personal".getBytes).build())
.setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder("professional".getBytes).build())
.build()
admin.createTable(tableDescriptor)
println(" Table created ")
}
}
这个 pom.xml
具有以下依赖关系:
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase -->
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>2.0.2</version>
<type>pom</type>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-client -->
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
我使用这段代码列出hbase中的表,但是 HtableDescriptor
已弃用方法:
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.hbase.HBaseConfiguration
import org.apache.hadoop.hbase.HTableDescriptor
import org.apache.hadoop.hbase.client.HBaseAdmin
object ListTable {
def main(args: Array[String]): Unit = {
// Instantiating configuration class
val con: Configuration = HBaseConfiguration.create()
// Instantiating HbaseAdmin class
val admin: HBaseAdmin = new HBaseAdmin(con)
// Getting all the list of tables using HBaseAdmin object
val tableDescriptor: Array[HTableDescriptor] = admin.listTables()
for (i <- 0 until tableDescriptor.length) {
println(tableDescriptor(i).getNameAsString)
}
}
}
用什么,怎么用,谢谢你的时间。
暂无答案!
目前还没有任何答案,快来回答吧!