feat(hbase-lesson): 添加 20250328 HBase DDL 任务
- 删除了原有的 Main 类 - 新增 task_DDL 类,实现 HBase 数据库的 DDL 操作- 在 pom.xml 中添加了 hbase-common 依赖
This commit is contained in:
parent
5cf3b30faa
commit
99161410f3
@ -20,6 +20,18 @@
|
||||
<artifactId>hbase-client</artifactId>
|
||||
<version>2.4.17</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.hbase</groupId>
|
||||
<artifactId>hbase-common</artifactId>
|
||||
<version>2.4.17</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.hbase</groupId>
|
||||
<artifactId>hbase-common</artifactId>
|
||||
<version>2.4.17</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -1,7 +0,0 @@
|
||||
package cn.vscoder;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("Hello, World!");
|
||||
}
|
||||
}
|
60
hbase-lesson/src/main/java/date_20250328/task_DDL.java
Normal file
60
hbase-lesson/src/main/java/date_20250328/task_DDL.java
Normal file
@ -0,0 +1,60 @@
|
||||
package date_20250328;
|
||||
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.hbase.HBaseConfiguration;
|
||||
import org.apache.hadoop.hbase.NamespaceDescriptor;
|
||||
import org.apache.hadoop.hbase.TableName;
|
||||
import org.apache.hadoop.hbase.client.*;
|
||||
import org.apache.hadoop.hbase.util.Bytes;
|
||||
|
||||
public class task_DDL {
|
||||
public static void main(String[] args) throws Exception {
|
||||
// create方法会自动去加载运行时的classpath中的hbase-site.xml等配置文件
|
||||
Configuration conf = HBaseConfiguration.create();
|
||||
conf.set("hbase.zookeeper.quorum", "hadoop102:2181");
|
||||
|
||||
// 创建一个hbase的客户端连接
|
||||
Connection conn = ConnectionFactory.createConnection(conf);
|
||||
|
||||
// 拿到一个DDL的操作工具
|
||||
Admin admin = conn.getAdmin();
|
||||
|
||||
/**
|
||||
* 建名称空间
|
||||
*/
|
||||
NamespaceDescriptor descriptor = NamespaceDescriptor.create("ideaPro_space").build();
|
||||
admin.createNamespace(descriptor);
|
||||
|
||||
// 创建一个列族描述 构造器
|
||||
ColumnFamilyDescriptorBuilder columnFamilyDescriptorBuilder = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("base_info"));
|
||||
// 通过 列族描述构造器 设置列族的参数
|
||||
columnFamilyDescriptorBuilder.setMaxVersions(2);
|
||||
// 通过 列族描述构造器,构造一个列族描述对象
|
||||
ColumnFamilyDescriptor familyDescriptor = columnFamilyDescriptorBuilder.build();
|
||||
// 创建第二个列族描述 构造器
|
||||
ColumnFamilyDescriptorBuilder columnFamilyDescriptorBuilder2 = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("extra_info"));
|
||||
// 通过 列族描述构造器 设置列族的参数
|
||||
columnFamilyDescriptorBuilder2.setMaxVersions(5);
|
||||
// 通过 列族描述构造器,构造一个列族描述对象
|
||||
ColumnFamilyDescriptor familyDescriptor2 = columnFamilyDescriptorBuilder2.build();
|
||||
|
||||
|
||||
// 创建表名对象
|
||||
TableName tableName = TableName.valueOf("ideaPro_space:students");
|
||||
// 创建一个表描述 构造器
|
||||
TableDescriptorBuilder tableDescriptorBuilder = TableDescriptorBuilder.newBuilder(tableName);
|
||||
// 通过表描述构造器,设置列族
|
||||
tableDescriptorBuilder.setColumnFamily(familyDescriptor);
|
||||
// 通过表描述构造器,设置第二个列族
|
||||
tableDescriptorBuilder.setColumnFamily(familyDescriptor2);
|
||||
// 通过表描述构造器,创建一个表描述对象
|
||||
TableDescriptor tableDescriptor = tableDescriptorBuilder.build();
|
||||
|
||||
// 用admin来创建这个表
|
||||
admin.createTable(tableDescriptor);
|
||||
|
||||
// 关闭客户端工具
|
||||
admin.close();
|
||||
conn.close();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user