eventdb
面向高能物理的大数据管理系统
环境依赖
- 分析dst文件需要Root环境依赖
- 解决python依赖:pip install happybase ConfigParser optparse pydoop
- java依赖通过maven解决,工程根目录运行:mvn clean compile && mvn clean package
- hadoop&hbase环境依赖:确保jps中有ResourceManager和Thrift服务
配置文件
配置文件./config.ini说明hdfs和hbase的运行环境, 本地环境可以使用默认配置。
rowkey编码
hbase只有字符类型,但是数字的大小顺序和字符顺序不匹配,导致针对属性值的范围搜索失效。为了使数字的大小顺序和字符顺序匹配,对数字进行编码。c代码./c/TyperSer.c可以对整数和浮点数进行编码。./python/lib/TyperSer.so是编译生成的动态链接。
eventdb存储结构
为了加快生成hbase数据表的速度,将生成的倒排索引存储在hdfs文件中,hbase表结构为rowkey, data:run, data:offset, data:length, data:count。一个run生成一个hdfs数据文件,data:run指向这个文件名,data:offset指向当前rowkey的倒排索引字符串在文件中的偏移量,data:length说明字符串的长度,data:count说明有多少个entryID。所以查询的时候先在hbase中查询,再通过offset等文件信息在hdfs文件中读取倒排索引。