Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARROW-2116: [JS] implement IPC writers
https://issues.apache.org/jira/browse/ARROW-2116 https://issues.apache.org/jira/browse/ARROW-2115 This PR represents a first pass at implementing the IPC writers for binary stream and file formats in JS. I've also added scripts to do the `json-to-arrow`, `file-to-stream`, and `stream-to-file` steps of the integration tests. These scripts rely on a new feature in Node 10 (the next LTS version), so please update. My attempts to use a library to remain backwards-compatible with Node 9 were unsuccessful. I've only done the APIs to serialize a preexisting Table to stream or file formats so far. We will want to refactor this soon to support end-to-end streaming. Edit: Figured out why the integration tests weren't passing, fixed now 🥇 Author: ptaylor <paul.e.taylor@me.com> Author: Paul Taylor <paul.e.taylor@me.com> Author: lsb <leebutterman@gmail.com> Closes #2035 from trxcllnt/js-buffer-writer and squashes the following commits: 261a864 <ptaylor> Merge branch 'master' into js-buffer-writer 917c2fc <ptaylor> test the ES5/UMD bundle in the integration tests 7a346dc <ptaylor> add a handy script for printing the alignment of buffers in a table 4594fe3 <ptaylor> align to 8-byte boundaries only 1a9864c <ptaylor> read message bodyLength from flatbuffer object e34afaa <ptaylor> export the RecordBatchSerializer b765b12 <ptaylor> speed up integration_test.py by only testing the JS source, not every compilation target 4ed6554 <ptaylor> Merge branch 'master' of https://github.com/apache/arrow into js-buffer-writer f497f7a <ptaylor> measure maxColumnWidths across all recordBatches when printing a table 14e6b38 <ptaylor> cleanup: remove dead code df43bc5 <ptaylor> make arrow2csv support streaming files from stdin, add rowsToString() method to RecordBatch 7924e67 <ptaylor> rename readNodeStream -> readStream, fromNodeStream -> fromReadableStream, add support for reading File format efc7225 <ptaylor> fix perf tests a06180b <ptaylor> don't run JS integration tests in src-only mode when --debug=true ed85572 <ptaylor> fix instanceof ArrayBuffer in jest/node 10 2df1a4a <ptaylor> update google-closure-compiler, remove gcc-specific workarounds in the build a6a7ab9 <ptaylor> put test tables into hoisted functions so it's easier to set breakpoints a79334d <ptaylor> fix typo again after rebase 081fefc <ptaylor> remove bin from ts package.json ccaf489 <ptaylor> remove stream-to-iterator c0b88c2 <ptaylor> always write flatbuffer vectors 0be6de3 <ptaylor> use node v10.1.0 in travis d4b8637 <ptaylor> add license headers b52af25 <ptaylor> cleanup 3187732 <ptaylor> set bitmap alignment to 8 bytes if < 64 values af9f4a8 <ptaylor> run integration tests in node 10.1 de81ac1 <ptaylor> Update JSTester to be an Arrow producer now too 832cc30 <ptaylor> add more js integration scripts for creating/converting arrow formats 263d06d <ptaylor> clean up js integration script 78cba38 <ptaylor> arrow2csv: support reading arrow streams from stdin e75da13 <ptaylor> add support for reading streaming format via node streams 4e80851 <ptaylor> write correct recordBatch length 73a2fa9 <ptaylor> fix stream -> file, file -> stream, add tests 304e75d <ptaylor> fix magic string alignment in file reader, add file reader tests 402187e <ptaylor> add apache license headers db02c1c <ptaylor> Add an integration test for binary writer a242da8 <ptaylor> Add `Table.prototype.serialize` method to make ArrayBuffers from Tables da0f457 <ptaylor> first pass at a working binary writer, only arrow stream format tested so far 508f4f8 <ptaylor> add getChildAt(n) methods to List and FixedSizeList Vectors to be more consistent with the other nested Vectors, make it easier to do the writer a9d773d <ptaylor> move ValidityView into its own module, like ChunkedView is 85eb7ee <ptaylor> fix erroneous footer length check in reader 4333e54 <ptaylor> FileBlock constructor should accept Long | number, have public number fields 7fff99e <ptaylor> move IPC magic into its own module d98e178 <ptaylor> add option to run gulp cmds with `-t src` to run jest against the `src` folder direct aaec76b <ptaylor> fix @std/esm options for node10 18b9dd2 <lsb> Fix a typo efb840f <Paul Taylor> fix typo ae1f481 <Paul Taylor> align to 64-byte boundaries c8ba1fe <Paul Taylor> don't write an empty buffer for NullVectors 43c671f <Paul Taylor> add Binary writer 6522cb0 <Paul Taylor> fix Data generics for FixedSizeList ef1acc7 <Paul Taylor> read union buffers in the correct order dc92b83 <Paul Taylor> fix typo
- Loading branch information