Titan 1.0.0存在问题以及JanusGraph的改进
来源:互联网 发布:mac 下载文件路径 编辑:程序博客网 时间:2024/06/11 15:38
JanusGraph是Titan 1.0.0版本的延续,JanusGraph继承了Titan的全部功能并做了进一步的改进,并支持Hadoop 2和Tinkerpop 3.2.3,采用gremlin图查询语言,以下为我们在项目开发过程中发现的Titan-1.0.0存在的问题。
1) 支持Hadoop 的差别
Titan 1.0.0稳定支持hadoop 1.2.1,JanusGraph则稳定支持Hadoop 2.6等版本。
Titan-1.0.0也有hadoop2的版本,如titan-1.0.0-hadoop2,但支持不完善,不能通过Hadoop2并行建立索引,即如下过程不能执行,JanusGraph则支持通过Hadoop 2执行如下过程。
// Run a Titan-Hadoop job to reindexmgmt = graph.openManagement()mr = new MapReduceIndexManagement(graph)mr.updateIndex(mgmt.getGraphIndex("mixedExample"), SchemaAction.REINDEX).get()
2) import包和关键词的差别
Titan一般采用Titan前缀类名称,如TitanFactory,而JanusGraph则采用JanusGraph,如JanusgraphFactory
3) Titan 1.0.0采用较新版本的slf4j(1.7.5)和Hadoop采用的slf4j(1.4.3)版本不一致,可能会导致基于Hadoop的Titan图数据库运算,如mr.updateIndex不能正常运行.如果使用到Hadoop的MapReduce并行计算,需要采用Titan的slf4j包替换Hadoop1.2.1的slf4j包。具体过程为
rm $HADOOP121HOME/lib/slf4j-api-1.4.3.jar $HADOOP121HOME/lib/slf4j-log4j12-1.4.3.jar
cd $TITAN100HOME/lib/
cp slf4j-api-1.7.5.jar slf4j-log4j12-1.7.5.jar $HADOOP121HOME/lib/
然后运行mr.updateIndex,运行完成后,再换回来即可。
JanusGraph的slf4j和Hadoop 2.6的slf4j包兼容,不存在这些问题。
4)Titan 1.0.0,其PageRankVertexProgram,针对大规模顶点(>= 1000万)时,由于程序bug,没有保存部分顶点的PageRank值,JanusGraph则不存在上述问题。
Reference
[1] http://docs.janusgraph.org/0.1.1/
- Titan 1.0.0存在问题以及JanusGraph的改进
- Titan/JanusGraph的Hadoop-Gremlin批量数据导入注意事项
- titan-1.0.0-hadoop1 + Hbase 问题
- JanusGraph
- 第四代组网模块存在的问题及改进方法
- Libnids安装过程以及存在的问题
- 如何创建CocoaPods以及存在的问题
- IT运维存在问题及改进
- STL中random_shufle存在的问题与改进(这篇博文是错误的)
- 微信开发 LBS位置定位存在问题的改进 基于java语言和mysql数据库
- 目前存在的问题以及接下来的任务
- VC6.0存在的问题
- 原生JDBC程序存在的问题以及MyBatis简介
- Hadoop多文件(目录)输出 以及MultipleInputs存在的问题
- 传统构造函数存在的问题以及解决方法(原型)
- css实现简单瀑布流以及存在的问题
- TITAN
- kmap_atomic的细节以及改进
- Web前端就业前景及薪资待遇分析
- 利用ssh传输文件
- html中src中“../”
- Linux编程手册读书笔记第五章(20140408)
- NodeJs开发工具
- Titan 1.0.0存在问题以及JanusGraph的改进
- mysql小技巧
- keras 中文文档 网址
- 浅谈React的JSX语法(一)
- SIFT/SURF算法的深入剖析——谈SIFT的精妙与不足
- Android 数据库的升级降级操作
- Java中Timer的用法
- iOS设备的wifi获取,包括wifi名称,ip地址 (.m文件)
- python:多线程+队列Queue 实现:生产者和消费者demo