`
乡里伢崽
  • 浏览: 108902 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表

hive + hbase

环境配置: hadoop-2.0.0-cdh4.3.0 (4 nodes, 24G mem/node) hbase-0.94.6-cdh4.3.0 (4 nodes,maxHeapMB=9973/node) hive-0.10.0-cdh4.3.0 一、查询性能比较:     query1:         select count(1) from on_hdfs;         select count(1) from on_hbase;     query2(根据key过滤)         select * from on_hdfs             where ...

hbase 布隆过滤器

布隆过滤器: 1.原理? 数据块索引提供了一个有效的方法,在访问一个特定的行时用来查找应该读取的HFile的数据块。但是它的效用是有限的。HFile数据块的默认大小是64KB,这个大小不能调整太多。  如果你要查找一个短行,只在整个数据块的起始行键上建立索引无法给你细粒度的索引信息。例如,如果你的行占用100字节存储空间,一个64KB的数据块包含(64 * 1024)/100 = 655.53 = ~700行,而你只能把起始行放在索引位上。你要查找的行可能落在特定数据块上的行区间里, 但也不是肯定存放在那个数据块上。这有多种情况的可能,或者该行在表里不存在,或者存放在另一个HFile里 ...

hbase 自定义filter

base自带的filter已经很多了,按照RK,CF,CQ过滤的都有 我最常用的PrefixFilter,按照rk前缀 RowFilter,按照rk比较 ColumnPrefixFilter,按照cq前缀 QualifierFilter,按照cq比较 hbase还有一堆WritableByteArrayComparable,可以满足各种比较 比如RegexStringComparator可以使用正则 但是在实际业务中,因为需求对数据要求是多样,对维度的,且数据是冗余,残缺,不可靠,不能枚举的。 所以自定义的Filter还是有用的,而且选择正确的方法继承,查询效率也可以 ...
HBase性能优化方法总结(四):数据计算 本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。有关HBase系统配置级别的优化,可参考:淘宝Ken Wu同学的博客。 下面是本文总结的第四部分内容:数据计算相关的优化方法。 4. 数据计算 4.1 服务端计算 Coprocessor运行于HBase RegionServer服务端,各个Regions保持对与其相关的coprocessor实现类的引用,coprocessor类可以通过RegionServer上classpath中的本地jar或HDFS的classloader进行加载。 目前,已提供有几种coproce ...
HBase性能优化方法总结(三):读表操作 本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。有关HBase系统配置级别的优化,可参考:淘宝Ken Wu同学的博客。 下面是本文总结的第三部分内容:读表操作相关的优化方法。 3. 读表操作 3.1 多HTable并发读 创建多个HTable客户端用于读操作,提高读数据的吞吐量,一个例子: 复制代码 static final Configuration conf = HBaseConfiguration.create(); static final String table_log_name = “user_log” ...
HBase性能优化方法总结(二):写表操作 本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。有关HBase系统配置级别的优化,可参考:淘宝Ken Wu同学的博客。 下面是本文总结的第二部分内容:写表操作 ...

hbase 表设计

HBase性能优化方法总结(一):表的设计 本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。有关HBase系统配置级别的优化,可参考:淘宝Ken Wu同学的博客。 下面是本文总结的第一部分内容:表的设计相关的优化方法。 1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照r ...

hbase 快照

Apache HBase快照介绍 分享到: 6 本文由 ImportNew - 陈 晨 翻译自 Cloudera。欢迎加入翻译小组。转载请参见文章末尾的要求。 CDH是Cloudera的完全开源分布式Apache Hadoop及相关项目(包括Apache HBase)。CDH的当前版本(4.2)引入的一个HBase ...

hbase 日常维护

一,基本命令:     建表:create 'testtable','coulmn1','coulmn2'      也可以建表时加coulmn的属性如:create 'testtable',{NAME => 'coulmn1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '10', COMPRESSION => 'LZO', TTL => '30000', IN_MEMORY ...
在上一节分析了TaskTracker和JobTracker之间通过周期的心跳消息获取任务分配结果的过程。中间留了一个问题,就是任务到底是怎么分配的。任务的分配自然是由JobTracker做出来的,具体来说,存在一个抽象类:TaskScheduler,主要负责分配任务,继承该类的有几个类: CapacityTaskScheduler、FairScheduler、JobQueueTaskScheduler(LimitTasksPerJobTaskScheduler又继承于该类)。 从名字大致可以看出,CapacityTaskScheduler应该是根据容量进行分配,FairScheduler实 ...

hive 数据倾斜

    博客分类:
  • hive
链接:http://www.alidata.org/archives/2109 数据倾斜总结    在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的分配到各个reduce中,就是解决数据倾斜的根本所在。规避错误来更好的运行比解决错误更高效。在查看了 ...

hive 分通总结

    博客分类:
  • hive
总结分析: 1. 定义了桶,但要生成桶的数据,只能是由其他表通过insert into 或是insert overwrite ,若表有分区只能使用insert overwrite 2. 定义桶可以使用整型字段或是string类型字段 3.  若表没有定义桶也可以进行随机抽样 4. 必须先set hive.enforce.bucketing = true才可以将数据正常写入桶中, 若没有使用hive.enforce.bucketing属性, 则需要设置和分桶个数相匹配的reducer个数, 同时SELECT后添加CLUSTER BY
索引是标准的数据库技术,hive 0.7版本之后支持索引。hive索引采用的不是'one size fites all'的索引实现方式,而是提供插入式接口,并且提供一个具体的索引实现作为参考。Hive的Index接口如下: 复制代码 public interface HiveIndexHandler extends Configurable {   /**    * Determines whether this handler implements indexes by creating an index    * table.    *    * @return true if inde ...

explain hive index

    博客分类:
  • hive
设置索引: 使用聚合索引优化groupby操作 hive> set hive.optimize.index.groupby=false; 自动使用索引 hive> set hive.optimize.index.filter=true;                      设置自动使用索引的最小输入字节数 hive>set hive.optimize.index.filter.compact.minsize=64 注意 hive.optimize.index.groupby必须设置生false,不然 hive.optimize.index.filter不起作用。 ...
Hadoop工作流引擎之Azkaban Edit 介绍 Azkaban是twitter出的一个任务调度系统,操作比Oozie要简单很多而且非常直观,提供的功能比较简单。Azkaban以Flow为执行单元进行定时调度,Flow就是预定义好的由一个或多个可存在依赖关系的Job组成的工作流。Azkaban的官方主页是http://azkaban.github.io/azkaban2/ ,它的的主要特点有下面几个: 兼容所有Hadoop版本(1.x,2.x,CDH) 可以通过WebUI进行管理配置,操作方便 可以通过UI配置定时调度 扩展性好,可针对某一问题开发组件(目前有三个插件HDFSBrowse ...
Global site tag (gtag.js) - Google Analytics