Я использую Scala API для использования 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)
}
}
}
Что использовать, Как использовать, Спасибо за ваше время.