janusgraph批量导入数据-IBM( janusgraph-utils)的使用
janusgraph-utils的简介
可与JanusGraph一起使用的实用工具,包括:
- JanusGraphSchemaImporter:一个groovy脚本,它将图形模式定义(JanusGraph模式的JSON表示)导入JanusGraph
- 合成数据生成器:用于将合成数据生成为CSV文件的工具
- 数据导入程序:从CSV文件将数据导入JanusGraph的工具
参考:https://github.com/IBM/janusgraph-utils/blob/master/doc/users_guide.md
IBM导入工具使用手册
源数据准备(四个文件):
顶点文件,边文件,数据结构文件,数据关系映射文件
要求:
顶点文件和边文件必须是csv文件
数据结构文件和数据关系映射文件是json文件
数据结构文件:描述该图中的数据结构
包括:
propertyKeys:包含属性定义的数组。每个属性都在一个对象中定义
vertexLabels:包含顶点定义的数组。每个顶点都在一个对象中定义
edgeLabels:包含边的定义的数组。每个边都在一个对象中定义
vertexIndexes:顶点的索引定义的数组
edgeIndexes:边的索引定义的数组
vertexCentricIndexes:包含以顶点为中心的索引定义的数组。每个以顶点为中心的索引都在一个对象中定义
数据关系映射文件:指定数据文件中的字段和数据结构中的关系
vertexMap:顶点文件的关系映射,
edgeMap:边文件的关系映射
注:在使用前,需要理解再程序中的datamapping文件和schema文件,编写自己的文件
使用步骤:
注:该工具需要maven编译,所以在外部进行编译,公司内网无法进行编译
1.在有网的环境下
1.1 下载编译
git clone https://github.com/IBM/janusgraph-utils.git cd janusgraph-utils mvn package
1.2 编译完成以后使用
2. 使用
这是用的是自带的脚本run.sh进行导入
2.1 创建文件夹
mkdir law
2.2 上传源数据文件到law文件
2.3 修改run.sh的脚本权限
chmod 777 run.sh
2.4 编辑janusgraph的环境变量
vi /etc/profile
export JANUSGRAPH_HOME=/opt/app/janusgraph-0.3.-hadoop2
export PATH=$PATH:$JANUSGRAPH_HOME/bin
2.5 编写运行命令
示例:run.sh import <janusgraph-config-file> <data-files-directory> <schema.json> <data-mapping.json>
./run.sh import $JANUSGRAPH_HOME/conf/gremlin-server/janusgraph-hbase-es.properties \ /opt/app/janusgraph-utils/law \ /opt/app/janusgraph-utils/law/law_item_schema.json \
/opt/app/janusgraph-utils/law/law_item_datamapper.json
janusgraph批量导入数据-IBM( janusgraph-utils)的使用的更多相关文章
- java使用POI实现Excel批量导入数据
1.准备工作 1.1 创建模板表头与数据库表字段一一对应,示例如下 1.2将模板放入项目中,如下图所示: 2.前端页面 2.1 使用超链接提供模板下载地址 <html lang="zh ...
- csv文件批量导入数据到sqlite。
csv文件批量导入数据到sqlite. 代码: f = web.input(bs_switch = {}) # bs_switch 为from表单file字段的namedata =[i.split( ...
- 使用python向Redis批量导入数据
1.使用pipeline进行批量导入数据.包含先使用rpush插入数据,然后使用expire改动过期时间 class Redis_Handler(Handler): def connect(self) ...
- Cassandra使用pycassa批量导入数据
本周接手了一个Cassandra系统的维护工作,有一项是需要将应用方的数据导入我们维护的Cassandra集群,并且为应用方提供HTTP的方式访问服务.这是我第一次接触KV系统,原来只是走马观花似的看 ...
- Redis批量导入数据的方法
有时候,我们需要给redis库中插入大量的数据,如做性能测试前的准备数据.遇到这种情况时,偶尔可能也会懵逼一下,这里就给大家介绍一个批量导入数据的方法. 先准备一个redis protocol的文件( ...
- 项目总结04:SQL批量导入数据:将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库
将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库 写在前面:本文用的语言是java:数据库是MySql: 需求:在实际项目中,经常会被客户要求,做批量导入数据:一般的简单的单表数 ...
- 批量导入数据到mssql数据库的
概述 批量导入数据到数据库中,我们有好几种方式. 从一个数据表里生成数据脚本,到另一个数据库里执行脚本 从EXCEL里导入数据 上面两种方式,导入的数据都会生成大量的日志.如果批量导入5W条数据到数据 ...
- asp.net线程批量导入数据时通过ajax获取执行状态
最近因为工作中遇到一个需求,需要做了一个批量导入功能,但长时间运行没个反馈状态,很容易让人看了心急,产生各种臆想!为了解决心里障碍,写了这么个功能. 通过线程执行导入,并把正在执行的状态存入sessi ...
- ADO.NET 对数据操作 以及如何通过C# 事务批量导入数据
ADO.NET 对数据操作 以及如何通过C# 事务批量导入数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...
随机推荐
- Mysql 中 int(3) 和 int(11) 的区别
[1]int(3) 和 int(11)的区别(思维惯性认知错误) 这里的3或11代表的是存储在数据库中的具体的长度,总以为int(3)只能存储3个长度的数字,int(11)只会存储11个长度的数字. ...
- 使用IDEA的maven工程导入ojdbc14 jar包失败
原因:ojdbc是要收费的所以maven无法通过中央仓库下载. 一开始以为是我网络不好,导致下载一直失败,可是我怎么想都不对劲,因为我自己使用了阿里云的镜像,网络不可能有问题吧,于是又使用外网,重新导 ...
- Django框架之第三篇(路由层)--有名/无名分组、反向解析、路由分发、名称空间、伪静态
一.Django请求生命周期 二.路由层 urls.py url()方法 第一个参数其实就是一个正则表达式,一旦前面的正则匹配到了内容,就不会再往下继续匹配,而是直接执行对应的视图函数. djang ...
- golang开发:环境篇(六) Go运行监控Supervisord的使用
为什么要使用Supervisord 17年第一次写Go项目的时候,用Go开发项目倒没没费多大劲,很快就开发完成了.到了在测试环境部署的时候,由于不知道有 Supervisord 这个软件,着实花了些功 ...
- 【Oracle】获取SQL执行计划
一.plsql developer工具F5 在sqldeveloper中选中sql按F5即可查看执行计划
- Django使用distinct报错:DISTINCT ON fields is not supported by this database backend
具体错误提示是:django.db.utils.NotSupportedError: DISTINCT ON fields is not supported by this database back ...
- MNIST机器学习入门(二)
在前一个博客中,我们已经对MNIST 数据集和TensorFlow 中MNIST 数据集的载入有了基本的了解.本节将真正以TensorFlow 为工具,写一个手写体数字识别程序,使用的机器学习方法是S ...
- linux 查询某个时间段的日志
目前因发生了异常大概记得发生的时间段,想查看这个时间段的日志 如我们的日志格式如下 1:09:59.946 [http-nio-12129-exec-10] INFO ntroller start = ...
- tf.reduce_max的运用
a=np.array([[[[1],[2],[3]],[[4],[25],[6]]],[[[27],[8],[99]],[[10],[11],[12]]],[[[13],[14],[15]],[[16 ...
- Node.js到底是什么
接触前端也有一段时间了,逐渐开始接触Node.js,刚刚接触Node.js的时候一直都以为Node.js就是JavaScript,当对Node.js有一定的了解之后,其实并不然两者之间有关系,其中的关 ...