Hbase--知识点总结3

Hbase知识点总结:  
hbase表中为什么列族的数量不能太多?

因为当一个列族数据溢写的时候,其他列族也会发生数据溢写,但是其他列族中数据的数量还没有达到溢写的阈值,就会导致产生的小文件数量增多.而hbase有小文件合并操作,小文件数量增多就会导致合并次数增多,从而使io资源消耗量增多。

hbase表结构的创建:通过增加表的数量,实现对表中字段复杂关系的解耦  

google protocol buffer:是google公司内部的混合语言数据标准,用于rpc系统和持续数据存储系统。
protocol buffers:是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化,很适合做数据存储或者RPC数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

安装protocol :  对于安装的节点没有具体环境要求
1、解压安装  tar -zxvf protocol-2.5.0.tar.gz
2、编译安装: 安装之前需要先安装环境  yum grouplist   (grouplist安装一个软件组)
3、yum groupinfo “development tools”(中间有空格加双引号)
4、yum groupinstall "development tools"
5、安装configure文件  ./configure  (生成makefile文件)
6、make && make install (生成可执行文件)
7、指定规则文件 以.proto结尾的文件  
定义proto规则文件的要求:
package lm;   (包名称)
message helloword (class类名称)
{
   required int32   id = 1; (必须的属性)
   required string str =2;
   optional  int32   opt = 3 ;(可选的属性)
}


 
package com.wcg.hbase (包名--与项目中的包名保持一致)
message PhoneDetail (class文件的名称)
{
  required string dnum = 1;
  required string type = 2;
  required string length = 3;  
  required string date = 4;  //后面的这个值是一个序列号,无所谓大小,前提是不能重复
}
8、在根目录中新建一个文件 phone.proto
9、编译 proto文件  
10、查找生成的可执行文件  whereis protoc  
11、查看protoc文件如何使用
./protoc --help  
12、/usr/local/bin/protoc phone.proto --java_out=/root/  (/root/ --proto文件执行后生成java文件的路径)
13、在java中插入数据的时候可以直接调用生成的该java文件的方法 (里面的接口都是google封装好的)
--实现将100条数据放置到一个rowkey中  
package com.wcg.hbase (包名--与项目中的包名保持一致)
message PhoneDetail (class文件的名称)
{
  required string dnum = 1;
  required string type = 2;
  required string length = 3;  
  required string date = 4;  //后面的这个值是一个序列号,无所谓大小,前提是不能重复
}
message dayPhoneDetail
{
  repeated PhoneDetail dayofPhone = 1;
}

--HBASE和mr的整合以及用本地环境模拟mr yarn进行数据计算
1、将hadoop的安装包的本地路径配置到windows/hadoop Map/Reduce 中
2、在windows环境变量中配置hadoop的相关路径 ,在path路径中配置hadoop_home/bin和hadoop_home/sbin
3、将eclipse中自带的jdk换成安装的jdk
4、将hadoop源码导入项目中
5、导入hadoop jar包

hbase的优化:




















原文地址:https://www.cnblogs.com/wcgstudy/p/10542849.html