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