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 ...
随机推荐
- 手撕面试官系列(八):分布式通讯ActiveMQ+RabbitMQ+Kafka面试专题
ActiveMQ专题 (面试题+答案领取方式见主页) 什么是 ActiveMQ? ActiveMQ 服务器宕机怎么办? 丢消息怎么办? 持久化消息非常慢. 消息的不均匀消费. 死信队列. Active ...
- C 猜猜猜😀文字小游戏
前言 - 随机性 随机数生成 - https://zh.wikipedia.org/wiki/%E9%9A%8F%E6%9C%BA%E6%95%B0%E7%94%9F%E6%88%90 没啥事情, 写 ...
- Go grpc 与 protobuf
现在很多微服务内部的通信协议都采用rpc,性能高,安全.而grpc则是google退出的rpc plus. protobuf是传输协议,性能高,强大. 来一个server client的通信demo, ...
- CLRS10.2-8练习 - 单指针值实现双向链表
要求: Explain how to implement doubly linked lists using only one pointer value x.np peritem instead o ...
- 工信部要求应用商店上新 App 检查 IPv6,这里有一份 IPv6 快速部署指南
7 月 25 日,工业和信息化部信息通信发展司组织召开部署推进 IPv6 网络就绪专项行动电视电话会议.会议指出,加快推进 IPv6 规模部署,构建高速率.广普及.全覆盖.智能化的下一代互联网,是互联 ...
- yii框架无限极分类的做法
用yii框架做了一个无限极分类,主要的数组转换都是粘贴的别人的代码,但还是不要脸的写出来,方便以后自己看 用的是递归,不是path路径 控制器: protected function subtree( ...
- Redis 集群:CLUSTERDOWN The cluster is down
1.错误 (error)CLUSTERDOWN The cluster is down 2.问题表现 Java项目使用redis集群时报错, HTTP Status 500 - Could not g ...
- Java——简单实现学生管理系统
import java.io.*;import java.util.ArrayList;import java.util.Scanner;class MyObjectOutputStream exte ...
- JS中的if语句内如何加or使多个条件通过
if(a==1&&b==2){ //do something }//条件是a等于1 并且 b等于2时才能成立,两个条件必须同时满足 if(a==1||b==2){ //do som ...
- 谈谈MySQL中的锁
谈谈MySQL中的锁 锁的定义 在生活中锁的例子就非常多了,所以应该很容易理解锁的含义.在计算机领域,可以这样来概述,锁是计算机协调多个进行进程并发访问某一资源的机制. 在数据库中,锁也是一个 ...
