HBase Maven依賴
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<hbase.version>1.3.5</hbase.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>${hbase.version}</version>
</dependency>
</dependencies>
配置文件
- 把HBase配置文件夾中的hbase-site.xml和Hadoop配置文件夾中的core-site.xml配置文件都從服務器上拖下來放到resources文件夾內
Hello HBase
-
于加載需要連接HBase的各項配置
Configuration config = HBaseConfiguration.create();
-
添加配置文件
config.addResource(new Path(ClassLoader.getSystemResource("hbase-site.xml").toURI())); config.addResource(new Path(ClassLoader.getSystemResource("core-site.xml").toURI()));
-
創(chuàng)建Connection
Connection connection = ConnectionFactory.createConnection(config);
-
建表
- 定義表名的TableName
TableName tableName = TableName.valueOf("mytable");
- 定義表屬性的HTableDescriptor
HTableDescriptor table = new HTableDescriptor(tablename);
- 創(chuàng)建列族
HColumnDescriptor mycf=new HColumnDescriptor("mycf"); table.addFamily(new HColumnDescriptor(mycf));
- 執(zhí)行
Admin admin = connection.qetAdmin(); admin.createTable(table);
- 結束
admin.close(); connection.close();
- 綜上
public class Client {
public static void main(String[] args) throws URISyntaxException {
// 獲取配置文件
Configuration conf = HBaseConfiguration.create();
conf.addResource(new Path(ClassLoader.getSystemResource("hbase-site.xml").toURI()));
conf.addResource(new Path(ClassLoader.getSystemResource("core-site.xml").toURI()));
// 創(chuàng)建連接
try {
Connection connection = ConnectionFactory.createConnection(conf);
Admin admin = connection.getAdmin();
// 定義表名
TableName tableName = TableName.valueOf("mytable");
// 定義表
HTableDescriptor table = new HTableDescriptor(tableName);
// 定義列族
HColumnDescriptor mycf = new HColumnDescriptor("mycf");
table.addFamily(new HColumnDescriptor(mycf));
// 執(zhí)行創(chuàng)建表動作
admin.createTable(table);
admin.close();
connection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}