`
kabike
  • 浏览: 599639 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论
文章列表
用modelbuilder可以进行流程化的操作.比如我们要对一个文件夹里的所有航片进行投影变换,这时可以用iterator对文件夹进行遍历,依次进行投影变换.投影变换的输出名字要使用变量替换(即本例中的%Name%),否则后一个文件会覆盖前一个.
华为二级索引的实现原理http://download.csdn.net/detail/kabike/7532053 具体实现也是在region级别用coprocessor维护索引,要注意的是为了维护数据表和索引表的对应region的局部性,需要自定义load balancer,在数据表region split的时候也要维护相应index表region的状态.
http://www.pluscn.net/?p=1192 不错不错,FM算法和bloomfilter真是大数据的两大利器
hbase只有rowkey上有索引,在rowkey上可以实现快速扫描,想在column上进行条件筛选或者是在rowkey的非前缀部分进行筛选只能通过filter,而一直以为filter只能顺序的遍历所有KeyValue. 但实际上filter可以提供hint来使scanner reseek重新定位,提高查询效率. 比如假设rowkey设计形式为barfoo,前三位是定长的bar属性,后三位是定长的foo属性,在bar属性上查询很容易,因为它是rowkey的前缀,使用startrow和endrow可以快速查询,对于非前缀属性foo来说,指定startrow是没有用的,必须要full scan才行 ...
hbase scan的时候设置caching,可以每次多从服务器取得row的数量,减少RPC的请求,那么batch的作用是什么呢? batch指的是一次next的时候,取得keyvalue的最大值.这个设置的用处是什么呢?是因为假设hbase中的row特别宽,那么一次next的时候,取得的keyvalue特别多,导致内存不足,所以用batch限制next时取keyvalue的数量. 但是batch使用时需要注意的是,batch和某些filter有冲突,这是因为这些filter需要一个完整的row才能进行操作,而且使用了batch之后,一个row就有可能分成多个result来返回. 下图是HBa ...
hbase自带的scan是串行的,在一个region扫描完了以后,会通过nextScanner方法扫描下一个region. 有没有办法并行的扫描多个region呢?设想了一下,可以利用getRegionLocations得到一个HTable的region info的集合,这样就可以知道每个region的startrow和endrow,根据要扫描的条件,构造多个scan,使每个scan都分别设定对应的一个region的startrow和endrow,并行的对每个region进行scan,最后把结果汇总.
关系型数据库中用offset和limit分页很容易,但是在hbase中就不是一件容易的事. 首先看PageFilter,这个filter只是提供了limit的功能,没有offset,而且并不能保证最后取得的result数量不超过PageFilter中设定的值.因为scan在next操作跨越region时,要open一个新的scanner,而PageFilter是分别序列化到每个region上,就算scan第一个region时,region server对filter做了一些操作改变了filter的状态,在scan第二个region时,也不能保持filter的状态,而要使用全新的filter.因此 ...
1 动态更改label的expression IGeoFeatureLayer pGeoFeatureLayer = (IGeoFeatureLayer)axMapControl.get_Layer(1); IAnnotateLayerPropertiesCollection pAnnoLayerPropsColl = pGeoFeatureLayer.AnnotationProperties; IElementCollection ec; IAnnotateLayerProp ...
#!/bin/bash HADOOP_HOME=/usr/local/hadoop while read line do HOST=$line echo "copy to $HOST" scp -r $HADOOP_HOME/etc $HOST:$HADOOP_HOME > /dev/null done < $HADOOP_HOME/etc/hadoop/slaves
很奇怪为什么设计成这样... https://developer.jboss.org/wiki/HibernateFAQ-AdvancedProblems#jive_content_id_Hibernate_does_not_return_distinct_results_for_a_query_with_outer_join_fetching_enabled_for_a_collection_even_if_I_use_the_distinct_keyword

用eclipse来debug

不错的文章,好多debug技巧 http://www.vogella.com/tutorials/EclipseDebugging/article.html
数据仓库主要用来进行OLAP任务,区别于传统的OLTP数据库,数据仓库对数据吞吐量的要求更高. 现在很多数据仓库都是列式数据库,比如infobright,Sybase IQ等. 前一段时间进行了一下对这些列式数据库的研究,发现了它们很多不同于传统行 ...
hbase中的排序完全是byte数组的字典顺序,而float,int这样的数据,转换为byte数组之后,字典顺序往往不是其自然顺序.即 -43.2的byte数组可能比-1002.3的byte数组的字典顺序小,这样筛选排序就会有问题.在hbase中解决这样的问题,可以用自定义Comparator的方法,另外就是使用OrderedBytes.用OrderedBytes生成的byte数组,往往能保留数据的自然顺序,比如OrderedBytes生成的float型数据的byte数据是5个字节,比Bytes的toBytes方法多了一个字节,但是数据的自然顺序得到了保留
如果想要在hbase中使用自定义的Comparator,过去应该是让Comparator实现Writable,把jar包放到hbase的lib下即可.可是用hbase0.96时,发现自定义Comparator无论如何没被调用,猜测应该利用protobuf将其序列化后传输到服务器端才行.后来尝试使用protobuf来序列化自定义的Comparator,果然获得了成功
现有一套hbase集群了,又要求假设一套新的hbase集群,不想再搭建一套zookeeper,hadoop,可以让多套hbase集群共享zookeeper和hadoop,只需要修改如下属性即可 <property> <name>hbase.rootdir</name> <value>hdfs://dev01:9000/hbase2</value> </property> <property> <name>zookeeper.znode.parent</name> ...
Global site tag (gtag.js) - Google Analytics