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 ...
随机推荐
- 打印从1到n位数的最大值
题目: 输入数字n,按顺序打印从1到最大的n位十进制数,如输入3,则打印从1.2.3一直到最大的3位数999 参考大数运算的方法.考虑到位数会很大,所以采用字符串的形式解决.对输入的n,创建一个长度为 ...
- sleep方法动态打印 C语言
#include<Windows.h> #include<stdio.h> #include<stdlib.h> #include<string.h> ...
- 两个div并排显示,当浏览器界面缩小时会出现换行
解决:规定两个子div的父div的宽 <div id="showDataDiv" style="width: 1000px"> <div st ...
- Mybatis中使用association及collection进行一对多双向关联示例(含XML版与注解版)
XML版本: 实体类: package com.sunwii.mybatis.bean; import java.util.ArrayList; import java.util.List; impo ...
- 小知识:讲述Linux命令别名与资源文件的区别
别名 别名是命令的快捷方式.为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用.语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令.重要的 ...
- Java知识回顾 (15) 文档注释
说明注释允许你在程序中嵌入关于程序的信息. 你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中,使你更加方便的记录你的程序信息. javadoc 标签 标签 描述 示例 @auth ...
- Django:实现读写分离
库的配置 1.读写分离 settings配置 #settings.py 配置库信息,生成2个库 DATABASES = { 'default': { 'ENGINE': 'django.db.back ...
- 如何解决div背景色半透明,里面的图片不透明问题
用rgba可以实现,不能用opacity 背景做成透明的背景图,opacity属性影响子集的,除非把两者独立开~
- Devops Reference
摘自 https://www.cnblogs.com/yibutian/p/9561657.html DevOps 企业实践 实施DevOps的核心目标是加速团队.企业的IT精益运行,从根本上提升IT ...
- Word2Vec算法简介
一.简介 word2vec是Google在2003年开源的一款将词表征为实数值向量的高效算法,采用的模型有CBOW[Continuous Bag-Of-Words 连续的词袋模型]和Skip-Gram ...
