HBase Protobuf_1 | 学习笔记

简介: 快速学习 HBase Protobuf_1

开发者学堂课程【HBase入门教程HBase Protobuf_1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/397/detail/5089


HBase Protobuf_1


内容介绍

一、解疑

二、Protobuf


一、解疑

查看 phone 表的数据

scan ‘phone’

一行数据

186997321279223370583159845807 column=cfl:prium,timestamp=1478681870662,value=17017869843

186997321279223370583159845807 column=cf1:time,timestamp=1478681870662value=20160125120850

186997321279223370583159845807 column=cfl:type,timestamp=1.478681870662value=1

每个作为一个列来存储,分散来进行存储,大部分存储空间被 rowkey 占用。

priumtimetype 糅合成一个列封装起来,就只用对应一个 cell ,便节省了存储空间。

每存储一个 cfl 都带一个 rowkey ,列族、列名等等这些信息,每一个 cfl 对应的 rowkey, 列族、列名、操作、版本也就是 value,最终才是一个 second 的值。本身存的值就很短,前面的 rowkey 很长,这样的设计最终,大部分的存储空间被rowkey 所占用,实际上的数据很少。

 

二、Protobuf

1.简介

Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++ Java Python 三种语言的 APl

2.安装 Google Protocol Buffer

在网站 http/lcode google.com'pIprotobufldownloadslist 上可以下载 Protobuf 的源代码。然后解压编译安装便可以使用它了。安装步骤如下所示,

tar.-xzt protobuf-2.1.0.tar.gz

cd protobuf-2.1.0

./configure --prefix=$INSTALL_DIR

make .

make check

make install

3.书写 .proto 文件

首先需要编写一个 proto 文件,定义程序中需要处理的结构化数据,在 protobuf 的术语中,结构化数据被称为 Messageproto 文件非常类似 java 或者 C 语言的数据定义。

package com.sxt.hbase;

message helloworld

{

requiced int32      id = 1;  //ID

required string  str = 2; // str

optional int32      opt = 3; //optional field

}

4.嵌套 Message 的例子

message Person {

//一天通话详单

required string name = 1;

required int32 id = 2;  //unique 1D number for this person.

optiona1 string email = 3;

reneated PhoneNumeber phone = 4;

message PhoneNumber {

//通话详单

required. string number = 1;

optiona1 PhoneType type = 2 [default = HOME];

}

}

package com.sxt.hbase;

message pdetail {

required string pnum = 1;

required string time = 2;

required string type = 3;

}

message pday {

repeated pdetail plist = 1;

}

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
Java API 分布式数据库
HBase thrift/thrift2 使用指南
Thrift server简介 Thrift server是HBase中的一种服务,主要用于对多语言API的支持。基于Apache Thrift(多语言支持的通信框架)开发,目前有两种版本thrift和thrift2。
19911 0
|
存储 分布式计算 Hadoop
92 hbase简介
92 hbase简介
65 0
|
存储 NoSQL Java
HBase入门
HBase入门
125 0
|
存储 JSON 监控
|
分布式数据库 开发者 Hbase
HBase Protobuf_4 | 学习笔记
快速学习 HBase Protobuf_4
111 0
HBase Protobuf_4 | 学习笔记
|
Java 应用服务中间件 编译器
HBase Protobuf_2 | 学习笔记
快速学习 HBase Protobuf_2
139 0
HBase Protobuf_2 | 学习笔记
|
存储 缓存 分布式计算
HBase 代码_7 | 学习笔记
快速学习 HBase 代码_7
126 0
HBase 代码_7 | 学习笔记
|
存储 Shell 分布式数据库
HBase代码_6 | 学习笔记
快速学习 HBase代码_6
119 0
HBase代码_6 | 学习笔记
|
存储 分布式计算 Hadoop
HBase代码_1| 学习笔记
快速学习 HBase代码_1
133 0
HBase代码_1| 学习笔记
|
缓存 分布式数据库 开发者
HBase 代码_2| 学习笔记
快速学习 HBase 代码_2
176 0
HBase 代码_2| 学习笔记