创建表

    1. package com.zykj.hbase.back.utils;
    2. import org.apache.hadoop.conf.Configuration;
    3. import org.apache.hadoop.hbase.HBaseConfiguration;
    4. import org.apache.hadoop.hbase.HColumnDescriptor;
    5. import org.apache.hadoop.hbase.HTableDescriptor;
    6. import org.apache.hadoop.hbase.TableName;
    7. import org.apache.hadoop.hbase.client.Connection;
    8. import org.apache.hadoop.hbase.client.HBaseAdmin;
    9. import org.apache.hadoop.hbase.client.Table;
    10. import org.junit.Test;
    11. import java.io.IOException;
    12. /**
    13. * description
    14. *
    15. * @author ${user}
    16. * @Time 2019-04-10
    17. */
    18. public class HbaseUtil {
    19. static Configuration config = null;
    20. private Connection connection = null;
    21. private Table table = null;
    22. private String zk_ip = null;
    23. private String zi_port = null;
    24. {
    25. PropertiesUtils propertiesUtils = new PropertiesUtils();
    26. zk_ip = propertiesUtils.getProperty("zookeeper_ip");
    27. zi_port = propertiesUtils.getProperty("zookeeper_port");
    28. config = HBaseConfiguration.create();// 配置
    29. config.set("hbase.zookeeper.quorum", zk_ip); // zookeeper地址
    30. config.set("hbase.zookeeper.property.clientPort", zi_port);// zookeeper端口
    31. }
    32. public boolean createTable() {
    33. HBaseAdmin admin = null; // hbase表管理
    34. try {
    35. admin = new HBaseAdmin(config);
    36. } catch (IOException e) {
    37. e.printStackTrace();
    38. }
    39. // 创建表描述类
    40. TableName tableName = TableName.valueOf("dept"); // 表名称
    41. HTableDescriptor desc = new HTableDescriptor(tableName);
    42. // 创建列族的描述类
    43. HColumnDescriptor family = new HColumnDescriptor("info"); // 列族
    44. // 将列族添加到表中
    45. desc.addFamily(family);
    46. HColumnDescriptor family2 = new HColumnDescriptor("subdept"); // 列族
    47. // 将列族添加到表中
    48. desc.addFamily(family2);
    49. // System.out.println("judgement");
    50. // 创建表
    51. try {
    52. admin.createTable(desc); // 创建表
    53. } catch (IOException e) {
    54. e.printStackTrace();
    55. }
    56. System.out.println("创建表成功!");
    57. return true;
    58. }
    59. @Test
    60. public void TestCreateT() {
    61. HbaseUtil hbaseUtil = new HbaseUtil();
    62. hbaseUtil.createTable();
    63. }
    64. }