Ultipa Transporter 分为 Importer、Exporter 两个工具,分别对 Ultipa 图数据库进行数据导入、导出。
使用 Importer 导入数据
- 支持 MySQL、PostgreSQL、SQLServer、Kafka、BigData、Neo4J、CSV、JSON、JSONL等多种数据源
- 支持在 Ultipa 图数据库中创建目标图集、schema、属性
- 支持对数据 ID 进行前缀处理
- 支持同时导入数据至多个 schema
以 MySQL 数据源为例,获取库 test 中的数据,导入至 Ultipa 服务器的图集 shareholding 中:

- 生成配置文件模板
./ultipa-importer --sample
- 修改配置文件
# 配置数据源类型
mode: mysql
# 配置数据源信息
sqlDatabase:
host: "192.168.1.1"
port: "5432"
dbname: "test"
username: "admin"
password: "abcd1234"
# 配置 Ultipa 服务器
server:
host: "192.168.2.149:60075"
username: "admin"
password: "abcd1234"
graphset: "shareholding"
crt: ""
# 配置点数据的字段
nodeConfig:
- schema: "human"
sql: "select _id, name from entity where type = 1"
properties:
- name: _id
type: _id
- schema: "firm"
sql: "select _id, name from entity where type = 3"
properties:
- name: _id
type: _id
# 配置边数据的字段
edgeConfig:
- schema: "hold"
sql: "select _from, _to, share from relation where type = 'holding'"
properties:
- name: _from
type: _from
- name: _to
type: _to
# 全局设置
settings:
batchSize: 10000
importMode: insert
# 自动创建图集、schema、属性
yes: true
- 执行导入
./ultipa-importer --config ./import.sample.yml
使用 Exporter 导出数据
- 支持导出为 CSV 文件(逗号分隔)
- 支持同时从多个 schema 导出数据
例如,从 Ultipa 服务器的图集 shareholding 中导出若干个无表头 CSV 文件至本地:

- 生成配置文件模板
./ultipa-exporter --sample
- 修改配置文件
# 配置 Ultipa 服务器
server:
host: "192.168.2.149:60075"
username: "admin"
password: "abcd1234"
graphset: "shareholding"
crt: ""
# 配置点数据的字段
nodeConfig:
- schema: "human"
- schema: "firm"
# 配置边数据的字段
edgeConfig:
- schema: "hold"
# 全局设置
settings:
writeHeader: false
outpath: ./temp
- 执行导出
./ultipa-exporter --config ./export.sample.yml