HBase
非关系型数据库
皮哥四月红
这个作者很懒,什么都没留下…
展开
-
Phoenix构建HBase二级索引案例实战
目录一、为什么要使用二级索引?二、全局索引和本地索引三、可变索引和不可变索引四、配置HBase支持Phoenix二级索引五、实战5.1 在phoenix中创建表5.2 导入测试数据5.3 Global Indexing的二级索引测试5.4 Local Indexing的二级索引测试5.5 如何确保query查询使用Index5.6 索引重建5.7 删除索引六、索引性能调优一、为什么要使用二级索引?对于HBase而言,如果想精确地定位到某行记录,唯一原创 2020-08-28 16:06:47 · 682 阅读 · 1 评论 -
Phoenix介绍和安装部署
目录一、Phoenix简介二、Phoenix安装部署1、下载安装包2、上传解压3、修改配置4、验证是否成功5、Phoenix使用1)批处理方式2)命令行方式3)GUI方式4)JDBC调用方式一、Phoenix简介 HBase 提供很方便的shell脚本以及java API等方式对Hbase进行操作,但是对于很对已经习惯了关系型数据库操作的开发来说,有一定的学习成本,如果可以像操作MySQL等一样通过sql实现对HBase的操作,那么很大程度降低...原创 2020-08-28 15:24:49 · 1490 阅读 · 0 评论 -
HBase表的Rowkey设计和热点问题
目录Rowkey设计三原则1 rowkey长度原则2 rowkey散列原则3 rowkey唯一原则HBase表的热点1 什么是热点2 热点的解决方案2.1 预分区2.2 加盐2.3 哈希2.4 反转Rowkey设计三原则1 rowkey长度原则 rowkey是一个二进制码流,可以是任意字符串,最大长度64kb,实际应用中一般为10-100bytes,以byte[]形式保存,一般设计成定长。 建议尽可能短;但是也不能太短,否则rowkey前缀重原创 2020-08-25 15:54:06 · 617 阅读 · 0 评论 -
HBase集成Hive详解
目录一、HBase与Hive的对比二、HBase整合Hive配置三、需求一:将Hive表当中分析的结果保存到HBase表四、需求二:创建Hive外部表,映射HBase当中已有的表模型Hive提供了与HBase的集成,使得能够在HBase表上使用hive sql 语句进行查询、插入操作以及进行Join和Union等复杂查询,同时也可以将hive表中的数据映射到Hbase中。一、HBase与Hive的对比Hive 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文原创 2020-08-25 12:56:29 · 611 阅读 · 1 评论 -
HBase BulkLoad批量写入数据实战
目录一、HBase BulkLoad介绍1、前言2、为什么要用bulkload方式导入?3、bulkload的实现原理二、HBase BulkLoad批量写入数据实战1、开发生成HFile文件的代码2、打成jar包提交到集群中运行3、观察HDFS上输出的结果4、加载HFile文件到hbase表中5、总结一、HBase BulkLoad介绍1、前言在前面的文章中我们介绍了HBASE的存储机制,HBASE存储数据其底层使用的是HDFS来作为存储介质,HBASE原创 2020-08-25 11:28:20 · 1273 阅读 · 0 评论 -
HBase过滤器查询
目录1、过滤器2、比较过滤器使用3、专用过滤器使用4、多过滤器综合查询FilterList1、过滤器过滤器的作用是在服务端判断数据是否满足条件,然后只将满足条件的数据返回给客户端过滤器的类型很多,但是可以分为两大类 比较过滤器 专用过滤器 2、比较过滤器使用 HBase过滤器的比较运算符: LESS <LESS_OR_EQUAL <=EQUAL =NOT_EQUAL <>GREATER_OR_EQUAL >=原创 2020-08-22 15:52:09 · 1576 阅读 · 0 评论 -
HBase shell 命令基本操作
目录HBase shell 命令基本操作1 进入HBase客户端命令操作界面2 help 帮助命令3 list 查看有哪些表4 create 创建表5 put 插入数据操作6 查询数据操作7 更新数据操作8 删除数据以及删除表操作9 统计一张表有多少行数据HBase的高级shell管理命令1 status2 whoami3 list4 count5 describe6 exists7 is_enabled、is_disabled8原创 2020-08-20 14:59:22 · 919 阅读 · 0 评论 -
MapReduce实现将HDFS中的数据解析并写入到HBase表中
目录一、准备工作二、功能实现1、创建Maven工程并导入依赖2、编写自定义Mapper类3、编写自定义Reducer类4、编写自定义Runner类5、运行代码并查看结果在上一篇博客中实现了HBase表之间的数据迁移功能:HBase表之间的数据迁移(使用MapReduce实现)那么,本文继续结合小案例介绍如何使用MapReduce将HDFS中的数据写入到HBase表中。功能实现:一、准备工作1)启动好Zookeeper、Hadoop、HBase服务;[原创 2020-07-23 15:21:00 · 1635 阅读 · 0 评论 -
HBase表之间的数据迁移(使用MapReduce实现)
目录一、案例需求:二、代码实现0、创建Maven工程并导入依赖1、自定义Mapper类ReadStudentMapper2、自定义Reducer类WriteStudentReducer3、自定义Runner类MRRunner4、运行代码和查看结果一、案例需求:在HBase中有一张测试用表"table777",表中数据如下:现在需要从该表中抽取每一行数据的部分字段(name、phone),然后写入到HBase中的另一张测试用表"table777_mr",使用MapR原创 2020-07-23 12:41:48 · 908 阅读 · 0 评论 -
HBase API基本操作(含java代码实现)
目录一、环境准备1、启动服务2、创建Maven工程二、HBaseAPI1、编写一个Student类2、编写HBaseAPI类3、测试结果在前面我们已经安装和部署好了HBase服务,并对HBase的架构原理做了介绍:HBase1.3.3安装部署详细步骤HBase的架构、数据结构和进阶原理(读写流程、flush、合并、拆分)详解那么,本篇文章再结合具体的例子对HBase的java API做一个基本实现,具体如下:一、环境准备1、启动服务启动Zookeepe原创 2020-07-23 10:09:19 · 2464 阅读 · 0 评论 -
HBase的架构、数据存储结构和进阶原理(读写流程、Flush、StoreFile合并、预分区、Region拆分与合并)详解
目录一、HBase架构1、Client2、Zookeeper3、HMaster(类似NameNode)4、HregionServer(类似DataNode)5、HDFS6、HRegion7、Store8、HFile9、MemStore10、WAL(Write-Ahead logs)11、HBase Meta表二、HBase数据结构1、RowKey(行键)2、Column Family(列族)3、Cell(单元)4、TimeStamp(时间戳原创 2020-07-22 13:14:19 · 2379 阅读 · 1 评论 -
HBase1.3.3安装部署详细步骤
目录一、准备工作二、HBase安装与部署三、HBase服务的启动1.启动方式12.启动方式23、查看HBase的web页面一、准备工作1、Zookeeper正常部署,首先保证Zookeeper集群的正常部署,并成功启动:[hadoop@weekend110 zookeeper-3.4.5]$ bin/zkServer.sh start[hadoop@weekend01 zookeeper-3.4.5]$ bin/zkServer.sh start[hadoop@we原创 2020-07-21 16:40:30 · 917 阅读 · 0 评论 -
HBase介绍、优缺点和实际应用场景
一、优点:1)海量存储Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与Hbase的极易扩展性息息相关。正式因为Hbase良好的扩展性,才为海量数据的存储提供了便利。2)列式存储这里的列式存储其实说的是列族(ColumnFamily)存储,Hbase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指...原创 2020-04-01 23:32:52 · 8161 阅读 · 0 评论
分享