3.7-3.9 HBase表属性】的更多相关文章

一.表压缩 1.HBase Sanppy HBase Sanppy 1)配置Haodop压缩 [beifeng@hadoop-senior hadoop-2.5.0]$ bin/hadoop checknative 2)配置HBase >> hadoop-snappy jar -> 放入到HBASE的lib目录 [root@hadoop-senior lib]# cp hadoop-snappy-0.0.1-SNAPSHOT.jar /opt/modules/hbase-0.98.6-h…
两篇讲的不错文章 http://www.cnblogs.com/nexiyi/p/hbase_shell.html http://blog.csdn.net/u010967382/article/details/37878701?utm_source=tuicool&utm_medium=referral hbase操做 hbase web操作 hbase shell 基本操作 1建表 具体命令 2建表后查看表describe 3清空表truncate lmj_test 4删除表 5修改表结构先…
1.建表高级属性 建表过程中常用的shell命令 1.1 BLOOMFILTER 默认是 NONE 是否使用布隆过虑及使用何种方式,布隆过滤可以每列族单独启用 使用HColumnDescriptor.setBloomFilterType(NONE|ROW|ROWCOL)对列族单独启用布隆 - Default = ROW 对行进行布隆过滤 - 对 ROW,行键的哈希在每次插入行时将被添加到布隆 - 对 ROWCOL,行键 + 列族 + 列族修饰的哈希将在每次插入行时添加到布隆 使用方法: crea…
Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive-hbase-handler.jar工具类 : hive-hbase-handler.jar在hive的lib包中而不是在hbase的lib中,hive0.6版本以后: 创建hive表的同时创建hbase表,删除 hive表的同时也会删除对应的hbase表. 参见官方文档:https://cwiki.apache.org/confluence/display/Hive/HBaseIntegr…
建表高级属性 下面几个 shell 命令在 hbase 操作中可以起到很大的作用,且主要体现在建表的过程中,看 下面几个 create 属性 1. BLOOMFILTER 默认是 NONE 是否使用布隆过虑及使用何种方式,布隆过滤可以每列族单独启用 使用 HColumnDescriptor.setBloomFilterType(NONE | ROW | ROWCOL) 对列族单独启用布隆 Default = ROW 对行进行布隆过滤 对 ROW,行键的哈希在每次插入行时将被添加到布隆 对 ROW…
一 命名空间 1 命名空间的结构 1) Table:表,所有的表都是命名空间的成员,即表必属于某个命名空间,如果没有指定, 则在 default 默认的命名空间中. 2) RegionServer group:一个命名空间包含了默认的 RegionServer Group. 3) Permission:权限,命名空间能够让我们来定义访问控制列表 ACL(Access Control List).例如,创建表,读取表,删除,更新等等操作. 4) Quota:限额,可以强制一个命名空间可包含的 re…
HBase表备份其实就是先将Table导出,再导入两个过程. 导出过程 //hbase org.apache.hadoop.hbase.mapreduce.Driver export 表名 数据文件位置//数据文件位置:可以是本地文件目录,也可以是hdfs路径//当其为前者时,必须加上前缀file:////当其为后者时,可以直接指定 "/root/test/users",也可以写路径 "hdfs://hadoop01:9000/root/test/users"//另…
业务上可能会遇到这种情况,在最初创建hbase表时候,未指定压缩方式,当数据导入之后,由rowkey带来的数据膨胀导致hdfs上的数据大小远远大于原始数据大小.所以这时候可能就不得不考虑使用压缩,但是如果将表删除,再创建一张指定压缩的表,再重新导入数据未免太浪费时间.当然也完全不用这样,可以直接修改hbase表的压缩方式,然后在执行major_compact即可 disable 'testcompression' //首先将表下线 alter 'testcompression', NAME =>…
第7章 HBase优化 7.1 高可用 在HBase中Hmaster负责监控RegionServer的生命周期,均衡RegionServer的负载,如果Hmaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久.所以HBase支持对Hmaster的高可用配置. 1.关闭HBase集群(如果没有开启则跳过此步) [FLY@hadoop102 hbase]$ bin/stop-hbase.sh 2.在conf目录下创建backup-masters文件 [FLY@…
  HBase是Hadoop大数据生态技术圈中的一项关键技术,是一种用于分布式存储大数据的列式数据库,关于HBase更加详细的介绍和技术细节,朋友们可以在网络上进行搜寻,笔者本人在接下来的日子里也会写一个HBase方面的技术专题,有兴趣的朋友们可以稍微的期待一下.不过本章节的重点是介绍下HBase表数据的分页处理,其他的就不多说了. 首先说一下表数据分页中不可回避的一个指标:总记录数.在关系数据库中很容易统计出记录总数,但在HBase中,这却是一个大难题,至少在目前,朋友们根本不要奢望能够通过类…
目录: hdfs 命令操作本地 hbase Azure HDInsight HBase表数据导入本地 hbase hdfs命令操作本地hbase: 参见  HDP2.4安装(五):集群及组件安装 , 创建本地 hbase集群后,使用hadoop hdfs 命令在访问 hbase 存储数据时,数据在hdfs文件中的路径依赖于 hbase-site.xml 配置中hbase.rootdir参数,默认如下图: hdp2.4默认的目录地址为: hdfs://mycluster/apps/hbase/da…
Job端的变化: 通过设置conf,配置输出表,在reduce中获取输出表名字 Configuration conf = job.getConfiguration(); //输出表1 conf.set("usertag_output", "usertag"); //输出表2 conf.set("prodtag_output", "prodtag"); job.setReducerClass(LabelReducer.class…
近期,在帮公司写一个销售管理的工具,高强度的开发激发了我对一些以前既有方式的看法,特将几点开发经验总结在此. 1.将工作表及窗体的公共变量及特征变量写为工作表或窗体的属性.此种方法的优点: ① 采用面向对象编程的思想: ② 减少模块加载导致的内存增加. 2.将工作表的一些内容特征写为工作表的属性,如工作表特殊的区域地址,重要表头的行地址或列地址. 3.利用表格命名区域和报表所在的工作表属性设计工作表,如此做法的优势在于: ① 防止对报告表格列及行的硬编码: ② 模块内临时变量的激增导致维护难度加…
  本博文的主要内容有    .hbase读取数据过程 .HBase表结构 .附带PPT http://hbase.apache.org/ 读写的时候,就需要用hbase了,换句话说,就是读写的时候.需要数据库. 在哪些领域,需要数据库? 只要做大量的数据存储,就需要用到数据库. 数据库比文件系统,提供了更好的功能:随机.实时的读写. 如果,在你业务场景里,对随机.实时的读写要求不高,可不可以用数据库呢?当然可以,但没这必要.就好像是大材小用. 对于随机.实时的读写要求高的场景,如实时在线读写的…
package com.bank.service; import java.io.IOException; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Configured;import org.apache.hadoop.fs.Path;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hba…
本例中需要将hdfs上的文本文件,解析后插入到hbase的表中. 本例用到的hadoop版本2.7.2 hbase版本1.2.2 hbase的表如下: create 'ns2:user', 'info' hdfs上的文本文件如下[data/hbase_input/hbase.txt] 1,xiejl,20 2,haha,30 3,liudehua,40 4,daoming,41 可以通过命令查看hadoop的classpath现在包含哪些jar包: [hadoop@master ~]$ hdfs…
转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=23916356&id=3321832 最近因为生产环境hbase中某张表的数据要导出到测试环境(数据不多,大概200W条左右),如果用程序掉接口导入的话太慢,所以考虑直接用 hbase的功能来导入导出.因为此次是实验,所以我在正式环境建了一张小表,只有两条数据,目的是将它导入到一张新表中(空表,但是表结构一样) hbase(main):004:0> scan 'xy…
近期Office365用户升级后解决了在Power Pivot中输入中文的问题,但是同时也带来了一个新的问题就是表属性窗口默认为“查询编辑器”模式,且无法切换回“表预览”模式. 本文和您分享在这种情况下如何对源数据进行更改操作. [导入时未进行筛选的情况]   从Excel文件导入数据到PowerPivot, 注意红色部分的信息: 文件名 - 记录了所抓取的Excel文件名称和位置信息 源表 -记录了数据所在的工作表信息(Sheet) 预览并筛选 - 此处我们没有进行任何筛选操作 数据导入后,我…
HBase shell窗口进入 执行命令hbase shell HBase表的创建 # 语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}# 例如:创建表t1,有两个family name:f1,f2,且版本数前者为3,后者为1hbase(main)> create 't1',{NAME => 'f1', VERSIONS => 3},{NAME => 'f2',…
比较常用的数据库是关系型数据库,但很多场景下nosql数据库会更加擅长,从sql到nosql实施的第一步就是设计表结构,这是两种不同的思维方式,这里说下HBase表设计. 需求:需要一张stock表用于保存市场所有股票的分钟走向,即每个股票每分钟记录一次价格. 方案一:瘦表. 用stockId+datetime作为RowKey,这样方便通过stockId或datetime快速扫描获取到相关记录. RowKey ColumnFamily "stock_cf" stockId+dateti…
1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这 个region足够大了才进行切分.一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照 region分区情况,在集群内做数据的负载均衡. 预分区的一个例子: public static boolean createTable(HBaseA…
hive与hbase表结合级联查询的问题,主要hive两个表以上涉及到join操作,就会长时间卡住,查询日志也不报错,也不会出现mr的进度百分比显示,shell显示如下图 如图: 解决这个问题,需要修改配置hive-site.xml,添加如下配置: <property> <name>hive.auto.convert.join</name> <value>false</value> </property> hive.auto.conv…
1.背景调研: 目前存在的hbase数据迁移主要分如下几类: 根据上图,可以看出: 其实主要分为两种方式:(1)hadoop层:因为hbase底层是基于hdfs存储的,所以可以通过把hdfs上的数据拷贝的方式来实现,即:DistCp. (2)hbase层:主要是基于hbase数据层的 CopyTable:需要scan全表数据,效率比较低下 Export/Import:scan全表数据到文件然后再import其他集群上 Snapshot:通过快照的方式,只对元数据进行克隆,不拷贝实际数据,因此性能…
一.HBase表的基本结构 1.概述: 平时常见的MySQL.Oracle数据库都是传统型关系数据库,它们都是按行查询.按行存储:而HBase为非关系型数据库,它是按列存储的的. 在HBase插入数据时,先输入数据的格式为rowkey => info => column => value rowkey:行键,唯一且不重复 info:列族(数量一般不超过3个) column:列(在列族下,一个列族下可有许多个列) value:值 timestamp:时间戳 cell:单元格 表的基本结构如…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-2.6.5 hbase-0.98.12.1-hadoop2 HBase中表的设计 主要是将原来的关系解开 问题: 例子: 表设计一: 表设计二: 这是一个双向查询,根据人员查角色,根据角色查人员 问题: 0为顶级部门,1为子部门 放到一张表中不会对效率产生影响,因为HBASE是海量存储,海量读写的. Redis是一个内存数据库,新浪微博是使用R…
create [external] table t1(id int, value string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties('hbase.column.mapping'=':key,f:name'); 如果想创建一个指向已经存在的HBase表的话,需要使用external  来自为知笔记(Wiz)…
只使用Mapper不使用reduce会大大减少mapreduce程序的运行时间. 有时候程序会往多张hbase表写数据. 所以有如题的需求. 下面给出的代码,不是可以运行的代码,只是展示driver中需要进行的必要项设置,mapper类需要实现的接口,map函数需要的参数以及函数内部的处理方式. 实现过程比较曲折,只贴代码: class Qos2HbaseDriver extends Configured implements Tool { private static Logger logge…
TTL(Time To Live)生存期 hbase表默认保存一个版本的数据 hbase(main):123:0> create 't_name','st1'Created table t_nameTook 1.3807 seconds                                                                                                                                    …
实现将 HDFS 中的数据写入到 HBase 表中 Runner类 package com.yjsj.hbase_mr2; import com.yjsj.hbase_mr2.ReadFruitFromHDFSMapper; import com.yjsj.hbase_mr2.WriteFruitMRFromTxtReducer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configur…
压缩格式:默认压缩格式是NONE.可选值有GZ.LZO.SNAPPY. 版本数:HBase默认定义为3个版本. 以秒为单位的存活时间TTL:使用对象是行中的列簇,一旦达到过期时间,HBase会删除这些行. 快大小:HBase默认的块大小是64KB,不同于HDFS默认64MB的块大小.原因是HBase需要支持随机访问.一旦找到了行键所在的块,接下来就会定位对应的单元格.使用64KB大小的块扫描速度显然优于64MB大小的块. 内存模式:默认值是false.如果设置为true,HBase会尝试将整个列…