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 ...
随机推荐
- python并发编程之IO模型 同步 异步 阻塞 非阻塞
IO浅谈 首先 我们在谈及IO模型的时候,就必须要引入一个“操作系统”级别的调度者-系统内核(kernel),而阻塞非阻塞是跟进程/线程严密相关的,而进程/线程又是依赖于操作系统存在的,所以自然不能脱 ...
- Python3 - 数字类型
在 Python 中,数字并不是一个真正的对象类型,而是一组类似类型的分类.Python 不仅支持通常的数字类型(整数和浮点数),而且还能够通过常量去直接创建数字以及处理数字的表达式.数字数据类型是不 ...
- 【题解】Luogu P5358 [SDOI2019]快速查询
原题传送门 神鱼说这道题是强制离线(smog 我们珂以把被单点修改,单点查询的点单独拿出来处理,把每个数表示成\(mul*x+plus\) 初始状态下\(mul=1,plus=0\) 操作1:在总和中 ...
- idea 添加 VUE 的语法
1,首先我们先让 HTML 文件支持 VUE 的语法指令提示 2,File -> Setting -> Edit -> Inspections -> html 3.加入以下: ...
- java之mybatis之动态sql
1. if 判读条件是否满足,满足将会把 sql 语句加上. <select id="findUser" parameterType="Map" resu ...
- C#各种字段类型对比
一.常量.只读字段.静态字段和静态只读字段对比 public class ModelClass { //常量在定义时必须赋初始值 //public const string constField; p ...
- .NET Core入门
.Net core MVC 如何使用 .NET Core,最基本的入行,很多博客以及官网都有的太多太多的例子,但是大部分没有人做到了真的让一个小白一步一步的去学, 我第一次接触的时 ...
- 百度搜索常用api
http://www.baidu.com/s?wd=关键字 wd(Keyword):查询的关键词:http://www.baidu.com/s?wd=关键字&cl=3 cl(Class):搜索 ...
- 所有子模块都要执行的checkstyle检查
<!-- 所有子模块都要执行的checkstyle检查 --> <plugin> <groupId>org.apache.maven.plugins</gro ...
- python 代码中log表示含义
log表示以e为底数的对数函数符号.其验证代码如下: a=np.log(np.e )print(a)print(np.e)