hindex 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
hindex 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票

软件简介

hindex 是华为公司开发的纯 Java 编写的 HBase 二级索引,兼容 Apache HBase 0.94.8。

当前的特性如下:

  • 多个表索引

  • 多个列索引

  • 基于部分列值的索引

  • 使用索引扫描等于和范围条件

  • 批量加载数据来索引表(索引完成批量加载)

工作原理

HBase 二级索引是 100% 服务端实现的。

si1

Put 操作

E.g.:

Table –> tab1 column family –> cf

Index –> idx1, cf1:c1 and idx2, cf1:c2

Index table –> tab1_idx (user table name with suffix “_idx” )

si2

扫描操作

si5

si4

使用

IndexedHTableDescriptor htd = new IndexedHTableDescriptor(usertableName);

IndexSpecification iSpec = new IndexSpecification(indexName);

HColumnDescriptor hcd = new HColumnDescriptor(columnFamily);

iSpec.addIndexColumn(hcd, indexColumnQualifier, ValueType.String, 10);

htd.addFamily(hcd);

htd.addIndex(iSpec);

admin.createTable(htd);

未来会实现的功能:

  • 动态添加和删除索引

  • 集成 HBase Shell 的二级索引管理

  • 优化范围扫描

  • HBCK 工具支持二级索引表

  • WAL 优化二级索引条目

  • 使得扫描评估情报可导入导出


展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (2)

加载中
目前都没什么人commit
2018/01/04 07:36
回复
举报
hindex
2014/08/25 13:01
回复
举报
更多评论
暂无内容
发表了博客
2017/12/19 10:49

h引用(数组中有h个数大于等于h,其余小于)H-Index

问题: Given an array of citations (each citation is a non-negative integer) of a researcher, write a function to compute the researcher's h-index. According to the definition of h-index on Wikiped......

0
0
发表了博客
2017/12/19 11:17

有序数组中的h引用 H-Index II

问题: Follow up for H-Index: What if the citations array is sorted in ascending order? Could you optimize your algorithm? 解决: ① 给定的是有序数组,就不需要排序了。 class Solution {//139ms publ......

0
0
发表了博客
2018/07/20 10:16

274. H-Index - LeetCode

Question 274. H-Index Solution 题目大意: 论文里的 h 因子判定,题目的意思可能有点晦涩。h 因子是评判学术成就的一种重要方法,h 因子越高越好,h 因子兼顾研究学术人员的学术产出数量与学术产出质量。假设一...

0
1
发表于开发技能专区
2019/11/28 06:00

PostgreSQL 一个可以调整查询代价的数据库

大部分数据库对于查询中的Cost 评估的代价指标是不能进行变更的,假设如果我的系统从10000转的磁盘,变换为每秒能提供 1366MB/S 的SSD 查询评估的方法还是老的方法,这样对于数据库系统的查询性能有多少帮助? 那...

0
0
发表了博客
2015/05/11 08:50

Hbase 学习(九) 华为二级索引(原理)

Hbase 学习(九) 华为二级索引(原理)

0
12
发表了博客
2018/05/26 10:12

[转]HBASE 二级索引

1.二级索引的核心思想是什么?2.二级索引由谁来管理?3.在主表中插入某条数据后,hbase如何将索引列写到索引表中去?4.scan查询的时候,coprocessor钩子的作用是什么?5.在split的时候,索引表在什么时候对数据划分? 本文是以华为二级索引为例: 华为在HBTC 2012上由其高级技术经理Anoop Sam John透露了其二级索引方案,...

0
0
发表了博客
2018/11/16 21:53

探秘Runtime - Runtime加载过程

该文章属于<简书 — 刘小壮>原创,转载请注明: <简书 — 刘小壮> https://www.jianshu.com/p/4fb2d7014e9e 程序加载过程 在iOS程序中会用到很多系统的动态库,这些动态库都是动态加载的。所有iOS程序共用一套系统...

0
1
2019/06/11 15:06

一名开源拓荒者的 Apache 之旅

今年是 Apache 软件基金会20周年庆,作为一家全球性的以开发开源软件为公共利益的慈善组织,正在变得更加的多元化、日渐丰富与完善。从本土软件产业的角度而言,须以站在世界的角度来认识、参与、贡献,进而领导,...

0
0
发表于开源治理专区
2019/04/30 15:31

一名开源拓荒者的 Apache 之旅

作者:陈亮 | 编辑:舒敏 开源社按 今年是 Apache 软件基金会20周年庆,作为一家全球性的以开发开源软件为公共利益的慈善组织,正在变得更加的多元化、日渐丰富与完善。从本土软件产业的角度而言,须以站在世界的...

0
0
发表了博客
2016/08/25 19:37

Hbase Coprocesor 浅析(一)

1.历史 HBase Coprocessors是参照Google BigTable的coprocessor来实现的。 2.什么是Coprocessor 简单来说,Coprocessor是一个框架,这个框架可以让你很容易地在Region Server运行你的业务逻辑代码。 对于客户端查询数据: Hbase,用Get/Scan查询数据,RDBMS用SQL查询数据 Hbase,用Filter查询特定数据,RDBMS用Where查询...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
2 评论
82 收藏
分享
返回顶部
顶部