To compress a file through an export procedure,
you can pass in config parameter the value compression: COMPRESSION_TYPE,
where COMPRESSION_TYPE can be BYTES, GZIP, BZIP2, DEFLATE, BLOCK_LZ4 or FRAMED_SNAPPY.
By default is NONE, that is without compression.
Note that to compress a file, you have to specify both the base file extension and the compression extension,
for example to export a test.csv you can write test.csv.gz, or test.csv.bz2 or whatever.
For example:
CALL apoc.export.csv.all("test.csv.gz", {compression: "GZIP"})
This works also with a multi-file export, for example:
CALL apoc.export.csv.all("testBulk.csv.zz",{compression: "DEFLATE", bulkImport: true, separateHeader: true, delim: ';'})
with a series of testBulk.<nodes/relationships>.<label/rel>.csv.zz files.
Moreover, you can use it with a file split into batches:
CALL apoc.export.csv.all(null, {compression: 'DEFLATE',stream:true,batchSize:2,useOptimizations:{unwindBatchSize:2}})
YIELD data RETURN data
| data |
|---|
|
|
|