apoc.export.arrow.all
过程
apoc.export.arrow.all(file STRING, config MAP<STRING, ANY>) - 将整个数据库导出为 arrow 文件。
|
在多线程环境下运行此过程被认为是不安全的。因此,它不受并行运行时(于 Neo4j 5.13 引入)的支持。更多信息,请参阅 Cypher 手册 → 并行运行时。 |
签名
apoc.export.arrow.all(file :: STRING, config = {} :: MAP) :: (file :: STRING, source :: STRING, format :: STRING, nodes :: INTEGER, relationships :: INTEGER, properties :: INTEGER, time :: INTEGER, rows :: INTEGER, batchSize :: INTEGER, batches :: INTEGER, done :: BOOLEAN, data :: ANY)
输出参数
| 名称 | 类型 |
|---|---|
file |
STRING |
source |
STRING |
format |
STRING |
节点 |
INTEGER(整数) |
relationships |
INTEGER(整数) |
属性 |
INTEGER(整数) |
time |
INTEGER(整数) |
rows |
INTEGER(整数) |
batchSize |
INTEGER(整数) |
batches |
INTEGER(整数) |
done |
布尔值 (BOOLEAN) |
data |
STRING |
配置参数
该过程支持以下配置参数
| 名称 (name) | type | 默认 | description(描述) |
|---|---|---|---|
batchSize |
整数 |
2000 |
ArrowStreamWriter 的批处理大小 |
使用示例
该过程以 Arrow 文件格式导出数据,其结构如下: - <id>:节点 ID - <labels>:标签列表 - <source.id>:源节点 ID(针对关系) - <target.id>:目标节点 ID(针对关系) - <type>:关系类型 - 节点和关系的属性列表,以表格形式扁平化展示
因此,对于以下查询
CREATE (f:User {name:'Adam',age:42,male:true,kids:['Sam','Anna','Grace'], born:localdatetime('2015185T19:32:24'), place:point({latitude: 13.1, longitude: 33.46789})})-[:KNOWS {since: 1993, bffSince: duration('P5M1.5D')}]->(b:User {name:'Jim',age:42}),(c:User {age:12}),(d:Another {foo: 'bar'})
使用此查询
CALL apoc.export.arrow.all('my_file.arrow') YIELD file, source, format,
nodes, relationships, properties,
time, batchSize,
batches, done, data
我们将得到一个具有以下列的 Arrow 文件
-
<id> -
<labels> -
<source.id> -
<target.id> -
<type> -
名称 (name) -
age -
male -
kids -
born -
place -
since -
bffSince