HBASE表的设计;如何将数据迁入到/存储到HBASE表中;HBase中的nameSpace;检索数据的三种办法;使用Sqoop将Mysql中的数据导入HBase中;创建预分区表

HBASE表的设计

最关键一点,最重要的一点

rowkey的设计

	-1.不能重复
	-2.前缀匹配原则
	-3.热点性
		常用倒转字段方法

如何将数据迁入到/存储到HBASE表中

方式一:批量将数据存储到HBASE表中

使用MapReduce或者Spark程序完成
SQOOP将RDBMS表中的数据导入到HBASE表中

方式二:实时将采集到数据存储到HBASE

调用HBase Java API ,存储数据
Put/get/scan

HBase中的nameSpace

相当于MySql数据库中的数据库
用来存放、区分表

HBase表中检索数据的方式

方式一:全部扫描

scan

方式二:单条获取 —速度最快的

get  rowkey

方式三:范围查询 —使用最多

scan 设置查询范围条件rowkey
存储是按照rowkey排序的

使用Sqoop将Mysql中的数据导入HBase中

第一步:配置Sqoop配置文件

告知HBase与Zookeeper的位置
在这里插入图片描述

导入命令

--将RDBMS中数据导入HBASE表中
bin/sqoop import \
--connect jdbc:mysql://主机名/数据库名 \
--username 数据库登录名 \
--password 密码 \
--table 表名 \
--columns "字段1,字段2...." \
--hbase-table "HBase中的表" \
--column-family info \
--hbase-row-key 指定主键 \
--num-mappers 1 \
--hbase-create-table 

HBase检查是否导入

--查看条目数
 count "表名"
--查看前10条
 scan "表名",{ LIMIT => 10}

创建表的预分区

Region的划分

HBase表中存储的数据按照rowkey字典升序进行排序的,

-1.按照row划分Region(区域)
	类比于HDFS存储数据划分为很多个Block(128MB)
	-a.默认情况下,创建一个表的时候,只有一个Region,并且startKey和endKey都是null,
	-b.在实现的项目中,需要进行预分区(指定region的个数)
-2.每个Region划分范围
	[startkey,endKey)
	表示的是Region中仅仅包含startKey开始到endKey结束的数据

在这里插入图片描述

创建方式

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无名一小卒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值