Hbase命名空间和分区Scala-API实现

本文介绍了如何通过Hbase的Scala API进行命名空间的创建和RowKey的预分区,以解决大数据量插入时的热点问题,提升数据插入效率。详细内容包括创建命名空间的步骤,以及在插入数据时如何获取分区号进行预分区操作。
摘要由CSDN通过智能技术生成

Hbase命名空间和分区API实现

Hbase命名空间:对hbase中表的逻辑划分

1.创建命名空间

 private val conf: Configuration = HBaseConfiguration.create()


def isExistCreateNameSpace(conf: Configuration,nameSpace: String){
    val connection: Connection = ConnectionFactory.createConnection(conf)
    val admin = connection.getAdmin
//    获取命名空间,不能存在是会报错,报错的话就创建命名空间
    try {
      admin.getNamespaceDescriptor(nameSpace)
    } catch {
      case exce :NamespaceNotFoundException =>{
        //    命名空间不存在就创建
          //      创建命名空间属性
          val namespaceDescriptor: NamespaceDescriptor = NamespaceDescriptor.create(nameSpace)
            .addConfiguration("CREATE_TIME", System.currentTimeMillis().toString)
            .addConfiguration("AUTHOR", "zsw").build()
          admin.createNamespace(namespaceDescriptor)
      }
    }

  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值