apoc.export.arrow.stream.query
Procedure
apoc.export.arrow.stream.query(query ANY, config MAP<STRING, ANY>) - exports the given Cypher query as an arrow byte array.
|
It is considered unsafe to run this procedure using multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Signature
apoc.export.arrow.stream.query(query :: ANY, config = {} :: MAP) :: (value :: LIST<INTEGER>)
Config parameters
The procedure support the following config parameters:
| name | type | default | description |
|---|---|---|---|
batchSize |
Integer |
2000 |
the batch size of the ArrowStreamWriter |
Usage Examples
Let’s suppose we have this data set:
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 {name: 'John', age:12}),(d:Another {foo: 'bar'})
With this query:
CALL apoc.export.arrow.stream.query('MATCH (n:User) RETURN count(n) as count, n.name as name')
YIELD value RETURN value
We’ll have a table with the following columns:
-
count -
name