@loaders.gl/parquet 4.4.5 → 5.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +14 -3
- package/dist/bundled.d.ts +9 -0
- package/dist/bundled.d.ts.map +1 -0
- package/dist/bundled.js +10 -0
- package/dist/bundled.js.map +1 -0
- package/dist/geoparquet-loader-with-parser.d.ts +33 -0
- package/dist/geoparquet-loader-with-parser.d.ts.map +1 -0
- package/dist/geoparquet-loader-with-parser.js +52 -0
- package/dist/geoparquet-loader-with-parser.js.map +1 -0
- package/dist/geoparquet-loader.d.ts +59 -0
- package/dist/geoparquet-loader.d.ts.map +1 -0
- package/dist/geoparquet-loader.js +30 -0
- package/dist/geoparquet-loader.js.map +1 -0
- package/dist/index.cjs +25873 -4776
- package/dist/index.cjs.map +3 -4
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/arrow/convert-columns-to-row-group.js +3 -0
- package/dist/lib/arrow/convert-columns-to-row-group.js.map +1 -1
- package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -1
- package/dist/lib/arrow/convert-schema-from-parquet.js +86 -26
- package/dist/lib/arrow/convert-schema-from-parquet.js.map +1 -1
- package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -1
- package/dist/lib/arrow/convert-schema-to-parquet.js +16 -7
- package/dist/lib/arrow/convert-schema-to-parquet.js.map +1 -1
- package/dist/lib/arrow/create-nested-arrow-vector.d.ts +8 -0
- package/dist/lib/arrow/create-nested-arrow-vector.d.ts.map +1 -0
- package/dist/lib/arrow/create-nested-arrow-vector.js +396 -0
- package/dist/lib/arrow/create-nested-arrow-vector.js.map +1 -0
- package/dist/lib/constants.d.ts +0 -1
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +1 -2
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/encoders/encode-arrow-to-parquet.d.ts +2 -2
- package/dist/lib/encoders/encode-arrow-to-parquet.d.ts.map +1 -1
- package/dist/lib/encoders/encode-arrow-to-parquet.js +3 -10
- package/dist/lib/encoders/encode-arrow-to-parquet.js.map +1 -1
- package/dist/lib/encoders/encode-table-to-parquet-js.d.ts +5 -0
- package/dist/lib/encoders/encode-table-to-parquet-js.d.ts.map +1 -0
- package/dist/lib/encoders/encode-table-to-parquet-js.js +199 -0
- package/dist/lib/encoders/encode-table-to-parquet-js.js.map +1 -0
- package/dist/lib/geo/geospatial-metadata.d.ts +67 -0
- package/dist/lib/geo/geospatial-metadata.d.ts.map +1 -0
- package/dist/lib/geo/geospatial-metadata.js +338 -0
- package/dist/lib/geo/geospatial-metadata.js.map +1 -0
- package/dist/lib/parquet-page-index.d.ts +62 -0
- package/dist/lib/parquet-page-index.d.ts.map +1 -0
- package/dist/lib/parquet-page-index.js +377 -0
- package/dist/lib/parquet-page-index.js.map +1 -0
- package/dist/lib/parquet-predicate.d.ts +17 -0
- package/dist/lib/parquet-predicate.d.ts.map +1 -0
- package/dist/lib/parquet-predicate.js +300 -0
- package/dist/lib/parquet-predicate.js.map +1 -0
- package/dist/lib/parquet-source-worker-client.d.ts +6 -0
- package/dist/lib/parquet-source-worker-client.d.ts.map +1 -0
- package/dist/lib/parquet-source-worker-client.js +22 -0
- package/dist/lib/parquet-source-worker-client.js.map +1 -0
- package/dist/lib/parquet-source-worker-decoder.d.ts +4 -0
- package/dist/lib/parquet-source-worker-decoder.d.ts.map +1 -0
- package/dist/lib/parquet-source-worker-decoder.js +115 -0
- package/dist/lib/parquet-source-worker-decoder.js.map +1 -0
- package/dist/lib/parquet-source-worker-file.d.ts +24 -0
- package/dist/lib/parquet-source-worker-file.d.ts.map +1 -0
- package/dist/lib/parquet-source-worker-file.js +40 -0
- package/dist/lib/parquet-source-worker-file.js.map +1 -0
- package/dist/lib/parquet-source-worker-types.d.ts +97 -0
- package/dist/lib/parquet-source-worker-types.d.ts.map +1 -0
- package/dist/lib/parquet-source-worker-types.js +5 -0
- package/dist/lib/parquet-source-worker-types.js.map +1 -0
- package/dist/lib/parquet-worker-transport.d.ts +8 -0
- package/dist/lib/parquet-worker-transport.d.ts.map +1 -0
- package/dist/lib/parquet-worker-transport.js +40 -0
- package/dist/lib/parquet-worker-transport.js.map +1 -0
- package/dist/lib/parsers/convert-parquet-tables.d.ts +16 -0
- package/dist/lib/parsers/convert-parquet-tables.d.ts.map +1 -0
- package/dist/lib/parsers/convert-parquet-tables.js +30 -0
- package/dist/lib/parsers/convert-parquet-tables.js.map +1 -0
- package/dist/lib/parsers/get-parquet-schema.d.ts.map +1 -1
- package/dist/lib/parsers/get-parquet-schema.js +3 -1
- package/dist/lib/parsers/get-parquet-schema.js.map +1 -1
- package/dist/lib/parsers/parse-geoparquet-to-geojson.d.ts +4 -4
- package/dist/lib/parsers/parse-geoparquet-to-geojson.d.ts.map +1 -1
- package/dist/lib/parsers/parse-geoparquet-to-geojson.js +19 -6
- package/dist/lib/parsers/parse-geoparquet-to-geojson.js.map +1 -1
- package/dist/lib/parsers/parse-parquet-tables.d.ts +37 -0
- package/dist/lib/parsers/parse-parquet-tables.d.ts.map +1 -0
- package/dist/lib/parsers/parse-parquet-tables.js +50 -0
- package/dist/lib/parsers/parse-parquet-tables.js.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts +19 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.js +608 -0
- package/dist/lib/parsers/parse-parquet-to-arrow-js.js.map +1 -0
- package/dist/lib/parsers/parse-parquet-to-arrow.d.ts +7 -7
- package/dist/lib/parsers/parse-parquet-to-arrow.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-arrow.js +45 -32
- package/dist/lib/parsers/parse-parquet-to-arrow.js.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts +3 -3
- package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-columns.js +1 -4
- package/dist/lib/parsers/parse-parquet-to-columns.js.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-json.d.ts +3 -3
- package/dist/lib/parsers/parse-parquet-to-json.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet-to-json.js +77 -26
- package/dist/lib/parsers/parse-parquet-to-json.js.map +1 -1
- package/dist/lib/sources/parquet-range-file.d.ts +80 -0
- package/dist/lib/sources/parquet-range-file.d.ts.map +1 -0
- package/dist/lib/sources/parquet-range-file.js +261 -0
- package/dist/lib/sources/parquet-range-file.js.map +1 -0
- package/dist/lib/sources/single-batch-queue.d.ts +24 -0
- package/dist/lib/sources/single-batch-queue.d.ts.map +1 -0
- package/dist/lib/sources/single-batch-queue.js +91 -0
- package/dist/lib/sources/single-batch-queue.js.map +1 -0
- package/dist/lib/utils/load-wasm-node.d.ts +3 -0
- package/dist/lib/utils/load-wasm-node.d.ts.map +1 -0
- package/dist/lib/utils/load-wasm-node.js +23 -0
- package/dist/lib/utils/load-wasm-node.js.map +1 -0
- package/dist/lib/utils/load-wasm.d.ts +2 -2
- package/dist/lib/utils/load-wasm.d.ts.map +1 -1
- package/dist/lib/utils/load-wasm.js +28 -12
- package/dist/lib/utils/load-wasm.js.map +1 -1
- package/dist/lib/utils/make-stream-iterator.d.ts +2 -0
- package/dist/lib/utils/make-stream-iterator.d.ts.map +1 -1
- package/dist/lib/utils/make-stream-iterator.js +123 -14
- package/dist/lib/utils/make-stream-iterator.js.map +1 -1
- package/dist/lib/utils/normalize-parquet-options.d.ts +5 -0
- package/dist/lib/utils/normalize-parquet-options.d.ts.map +1 -0
- package/dist/lib/utils/normalize-parquet-options.js +11 -0
- package/dist/lib/utils/normalize-parquet-options.js.map +1 -0
- package/dist/parquet-dataset-source.cjs +26413 -0
- package/dist/parquet-dataset-source.cjs.map +6 -0
- package/dist/parquet-dataset-source.d.ts +54 -0
- package/dist/parquet-dataset-source.d.ts.map +1 -0
- package/dist/parquet-dataset-source.js +380 -0
- package/dist/parquet-dataset-source.js.map +1 -0
- package/dist/parquet-format.d.ts +2 -0
- package/dist/parquet-format.d.ts.map +1 -1
- package/dist/parquet-format.js +2 -0
- package/dist/parquet-format.js.map +1 -1
- package/dist/parquet-js-loader-types.d.ts +57 -0
- package/dist/parquet-js-loader-types.d.ts.map +1 -0
- package/dist/parquet-js-loader-types.js +33 -0
- package/dist/parquet-js-loader-types.js.map +1 -0
- package/dist/parquet-js-loader.d.ts +32 -0
- package/dist/parquet-js-loader.d.ts.map +1 -0
- package/dist/parquet-js-loader.js +58 -0
- package/dist/parquet-js-loader.js.map +1 -0
- package/dist/parquet-js-writer.d.ts +44 -0
- package/dist/parquet-js-writer.d.ts.map +1 -0
- package/dist/parquet-js-writer.js +28 -0
- package/dist/parquet-js-writer.js.map +1 -0
- package/dist/parquet-loader-base.d.ts +25 -0
- package/dist/parquet-loader-base.d.ts.map +1 -0
- package/dist/parquet-loader-base.js +23 -0
- package/dist/parquet-loader-base.js.map +1 -0
- package/dist/parquet-loader-options.d.ts +44 -0
- package/dist/parquet-loader-options.d.ts.map +1 -0
- package/dist/parquet-loader-options.js +10 -0
- package/dist/parquet-loader-options.js.map +1 -0
- package/dist/parquet-loader-types.d.ts +61 -0
- package/dist/parquet-loader-types.d.ts.map +1 -0
- package/dist/parquet-loader-types.js +17 -0
- package/dist/parquet-loader-types.js.map +1 -0
- package/dist/parquet-loader.d.ts +42 -0
- package/dist/parquet-loader.d.ts.map +1 -0
- package/dist/parquet-loader.js +68 -0
- package/dist/parquet-loader.js.map +1 -0
- package/dist/parquet-source-capabilities.d.ts +36 -0
- package/dist/parquet-source-capabilities.d.ts.map +1 -0
- package/dist/parquet-source-capabilities.js +22 -0
- package/dist/parquet-source-capabilities.js.map +1 -0
- package/dist/parquet-source-loader-types.d.ts +72 -0
- package/dist/parquet-source-loader-types.d.ts.map +1 -0
- package/dist/parquet-source-loader-types.js +74 -0
- package/dist/parquet-source-loader-types.js.map +1 -0
- package/dist/parquet-source-loader.cjs +25975 -0
- package/dist/parquet-source-loader.cjs.map +6 -0
- package/dist/parquet-source-loader.d.ts +120 -0
- package/dist/parquet-source-loader.d.ts.map +1 -0
- package/dist/parquet-source-loader.js +812 -0
- package/dist/parquet-source-loader.js.map +1 -0
- package/dist/parquet-source-types.d.ts +384 -0
- package/dist/parquet-source-types.d.ts.map +1 -0
- package/dist/parquet-source-types.js +5 -0
- package/dist/parquet-source-types.js.map +1 -0
- package/dist/parquet-source-worker-url.d.ts +3 -0
- package/dist/parquet-source-worker-url.d.ts.map +1 -0
- package/dist/parquet-source-worker-url.js +22 -0
- package/dist/parquet-source-worker-url.js.map +1 -0
- package/dist/parquet-source-worker.js +38491 -0
- package/dist/parquet-source-worker.js.map +7 -0
- package/dist/parquet-worker-node.cjs +54779 -0
- package/dist/parquet-worker-node.cjs.map +7 -0
- package/dist/parquet-worker-url.d.ts +3 -0
- package/dist/parquet-worker-url.d.ts.map +1 -0
- package/dist/parquet-worker-url.js +15 -0
- package/dist/parquet-worker-url.js.map +1 -0
- package/dist/parquet-worker.js +19920 -0
- package/dist/parquet-worker.js.map +7 -0
- package/dist/parquet-writer.d.ts +10 -0
- package/dist/parquet-writer.d.ts.map +1 -0
- package/dist/parquet-writer.js +27 -0
- package/dist/parquet-writer.js.map +1 -0
- package/dist/parquet_wasm_bg.wasm +0 -0
- package/dist/parquetjs/codecs/byte-stream-split.d.ts +9 -0
- package/dist/parquetjs/codecs/byte-stream-split.d.ts.map +1 -0
- package/dist/parquetjs/codecs/byte-stream-split.js +159 -0
- package/dist/parquetjs/codecs/byte-stream-split.js.map +1 -0
- package/dist/parquetjs/codecs/declare.d.ts +20 -3
- package/dist/parquetjs/codecs/declare.d.ts.map +1 -1
- package/dist/parquetjs/codecs/declare.js +7 -1
- package/dist/parquetjs/codecs/declare.js.map +1 -1
- package/dist/parquetjs/codecs/delta.d.ts +17 -0
- package/dist/parquetjs/codecs/delta.d.ts.map +1 -0
- package/dist/parquetjs/codecs/delta.js +439 -0
- package/dist/parquetjs/codecs/delta.js.map +1 -0
- package/dist/parquetjs/codecs/dictionary.d.ts +5 -2
- package/dist/parquetjs/codecs/dictionary.d.ts.map +1 -1
- package/dist/parquetjs/codecs/dictionary.js +16 -4
- package/dist/parquetjs/codecs/dictionary.js.map +1 -1
- package/dist/parquetjs/codecs/index.d.ts.map +1 -1
- package/dist/parquetjs/codecs/index.js +18 -0
- package/dist/parquetjs/codecs/index.js.map +1 -1
- package/dist/parquetjs/codecs/plain.d.ts +3 -3
- package/dist/parquetjs/codecs/plain.d.ts.map +1 -1
- package/dist/parquetjs/codecs/plain.js +88 -76
- package/dist/parquetjs/codecs/plain.js.map +1 -1
- package/dist/parquetjs/codecs/rle.d.ts +3 -3
- package/dist/parquetjs/codecs/rle.d.ts.map +1 -1
- package/dist/parquetjs/codecs/rle.js +196 -68
- package/dist/parquetjs/codecs/rle.js.map +1 -1
- package/dist/parquetjs/compression.d.ts +7 -8
- package/dist/parquetjs/compression.d.ts.map +1 -1
- package/dist/parquetjs/compression.js +95 -141
- package/dist/parquetjs/compression.js.map +1 -1
- package/dist/parquetjs/encoder/dictionary-planner.d.ts +17 -0
- package/dist/parquetjs/encoder/dictionary-planner.d.ts.map +1 -0
- package/dist/parquetjs/encoder/dictionary-planner.js +64 -0
- package/dist/parquetjs/encoder/dictionary-planner.js.map +1 -0
- package/dist/parquetjs/encoder/page-planner.d.ts +11 -0
- package/dist/parquetjs/encoder/page-planner.d.ts.map +1 -0
- package/dist/parquetjs/encoder/page-planner.js +60 -0
- package/dist/parquetjs/encoder/page-planner.js.map +1 -0
- package/dist/parquetjs/encoder/parquet-encoder.d.ts +11 -4
- package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -1
- package/dist/parquetjs/encoder/parquet-encoder.js +259 -52
- package/dist/parquetjs/encoder/parquet-encoder.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/BsonType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/BsonType.js +1 -1
- package/dist/parquetjs/parquet-thrift/BsonType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts +2 -2
- package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnChunk.js +2 -2
- package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts +6 -6
- package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js +3 -3
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts +2 -2
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +2 -2
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.js +1 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.js +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +1 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/DateType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/DateType.js +1 -1
- package/dist/parquetjs/parquet-thrift/DateType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.js +1 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +1 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.d.ts +8 -0
- package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.js +14 -0
- package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/Encoding.d.ts +2 -1
- package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/Encoding.js +1 -0
- package/dist/parquetjs/parquet-thrift/Encoding.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/EnumType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/EnumType.js +1 -1
- package/dist/parquetjs/parquet-thrift/EnumType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts +2 -2
- package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/FileMetaData.js +2 -2
- package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/Float16Type.d.ts +9 -0
- package/dist/parquetjs/parquet-thrift/Float16Type.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/Float16Type.js +27 -0
- package/dist/parquetjs/parquet-thrift/Float16Type.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/GeographyType.d.ts +14 -0
- package/dist/parquetjs/parquet-thrift/GeographyType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/GeographyType.js +51 -0
- package/dist/parquetjs/parquet-thrift/GeographyType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/GeometryType.d.ts +11 -0
- package/dist/parquetjs/parquet-thrift/GeometryType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/GeometryType.js +41 -0
- package/dist/parquetjs/parquet-thrift/GeometryType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +1 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/IntType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/IntType.js +1 -1
- package/dist/parquetjs/parquet-thrift/IntType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/JsonType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/JsonType.js +1 -1
- package/dist/parquetjs/parquet-thrift/JsonType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.js +1 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/ListType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/ListType.js +1 -1
- package/dist/parquetjs/parquet-thrift/ListType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.d.ts +17 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.js +97 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/MapType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/MapType.js +1 -1
- package/dist/parquetjs/parquet-thrift/MapType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.js +1 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.js +1 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/NanoSeconds.d.ts +9 -0
- package/dist/parquetjs/parquet-thrift/NanoSeconds.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/NanoSeconds.js +27 -0
- package/dist/parquetjs/parquet-thrift/NanoSeconds.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/NullType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/NullType.js +1 -1
- package/dist/parquetjs/parquet-thrift/NullType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.js +1 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +1 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.js +1 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageLocation.d.ts +2 -2
- package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/PageLocation.js +2 -2
- package/dist/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/RowGroup.d.ts +2 -2
- package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/RowGroup.js +2 -2
- package/dist/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.js +1 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.js +1 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/Statistics.d.ts +14 -10
- package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/Statistics.js +38 -2
- package/dist/parquetjs/parquet-thrift/Statistics.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/StringType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/StringType.js +1 -1
- package/dist/parquetjs/parquet-thrift/StringType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimeType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimeType.js +1 -1
- package/dist/parquetjs/parquet-thrift/TimeType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts +5 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.js +25 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.js +1 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +1 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.d.ts +1 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.js +1 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
- package/dist/parquetjs/parquet-thrift/VariantType.d.ts +11 -0
- package/dist/parquetjs/parquet-thrift/VariantType.d.ts.map +1 -0
- package/dist/parquetjs/parquet-thrift/VariantType.js +41 -0
- package/dist/parquetjs/parquet-thrift/VariantType.js.map +1 -0
- package/dist/parquetjs/parquet-thrift/index.d.ts +6 -2
- package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -1
- package/dist/parquetjs/parquet-thrift/index.js +6 -2
- package/dist/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/parquetjs/parser/decoders.d.ts +14 -3
- package/dist/parquetjs/parser/decoders.d.ts.map +1 -1
- package/dist/parquetjs/parser/decoders.js +381 -117
- package/dist/parquetjs/parser/decoders.js.map +1 -1
- package/dist/parquetjs/parser/parquet-reader.d.ts +35 -10
- package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -1
- package/dist/parquetjs/parser/parquet-reader.js +179 -59
- package/dist/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/parquetjs/schema/declare.d.ts +62 -8
- package/dist/parquetjs/schema/declare.d.ts.map +1 -1
- package/dist/parquetjs/schema/declare.js.map +1 -1
- package/dist/parquetjs/schema/schema.d.ts +3 -0
- package/dist/parquetjs/schema/schema.d.ts.map +1 -1
- package/dist/parquetjs/schema/schema.js +21 -3
- package/dist/parquetjs/schema/schema.js.map +1 -1
- package/dist/parquetjs/schema/shred.d.ts +2 -0
- package/dist/parquetjs/schema/shred.d.ts.map +1 -1
- package/dist/parquetjs/schema/shred.js +71 -23
- package/dist/parquetjs/schema/shred.js.map +1 -1
- package/dist/parquetjs/schema/types.d.ts.map +1 -1
- package/dist/parquetjs/schema/types.js +272 -51
- package/dist/parquetjs/schema/types.js.map +1 -1
- package/dist/parquetjs/utils/binary-utils.d.ts +41 -0
- package/dist/parquetjs/utils/binary-utils.d.ts.map +1 -0
- package/dist/parquetjs/utils/binary-utils.js +106 -0
- package/dist/parquetjs/utils/binary-utils.js.map +1 -0
- package/dist/parquetjs/utils/file-utils.d.ts +1 -1
- package/dist/parquetjs/utils/file-utils.d.ts.map +1 -1
- package/dist/parquetjs/utils/file-utils.js +3 -3
- package/dist/parquetjs/utils/file-utils.js.map +1 -1
- package/dist/parquetjs/utils/read-utils.d.ts +14 -6
- package/dist/parquetjs/utils/read-utils.d.ts.map +1 -1
- package/dist/parquetjs/utils/read-utils.js +46 -39
- package/dist/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/parquetjs/utils/thrift-runtime.d.ts +106 -0
- package/dist/parquetjs/utils/thrift-runtime.d.ts.map +1 -0
- package/dist/parquetjs/utils/thrift-runtime.js +50 -0
- package/dist/parquetjs/utils/thrift-runtime.js.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.d.ts +78 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.d.ts.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.js +213 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.js.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.d.ts +80 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.d.ts.map +1 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.js +276 -0
- package/dist/parquetjs/utils/uint8-array-compact-protocol.js.map +1 -0
- package/dist/parquetjs/utils/uint8-array-transport.d.ts +25 -0
- package/dist/parquetjs/utils/uint8-array-transport.d.ts.map +1 -0
- package/dist/parquetjs/utils/uint8-array-transport.js +62 -0
- package/dist/parquetjs/utils/uint8-array-transport.js.map +1 -0
- package/dist/polyfills/process.d.ts +12 -0
- package/dist/polyfills/process.d.ts.map +1 -0
- package/dist/polyfills/process.js +17 -0
- package/dist/polyfills/process.js.map +1 -0
- package/dist/unbundled.d.ts +9 -0
- package/dist/unbundled.d.ts.map +1 -0
- package/dist/unbundled.js +10 -0
- package/dist/unbundled.js.map +1 -0
- package/dist/wasm.d.ts +3 -0
- package/dist/wasm.d.ts.map +1 -0
- package/dist/wasm.js +6 -0
- package/dist/wasm.js.map +1 -0
- package/dist/workers/parquet-source-worker.d.ts +2 -0
- package/dist/workers/parquet-source-worker.d.ts.map +1 -0
- package/dist/workers/parquet-source-worker.js +17 -0
- package/dist/workers/parquet-source-worker.js.map +1 -0
- package/dist/workers/parquet-worker-node.d.ts +2 -0
- package/dist/workers/parquet-worker-node.d.ts.map +1 -0
- package/dist/workers/parquet-worker-node.js +5 -0
- package/dist/workers/parquet-worker-node.js.map +1 -0
- package/dist/workers/parquet-worker.d.ts +2 -0
- package/dist/workers/parquet-worker.d.ts.map +1 -0
- package/dist/workers/parquet-worker.js +27 -0
- package/dist/workers/parquet-worker.js.map +1 -0
- package/package.json +63 -33
- package/src/bundled.ts +33 -0
- package/src/geoparquet-loader-with-parser.ts +95 -0
- package/src/geoparquet-loader.ts +54 -0
- package/src/index.ts +49 -23
- package/src/lib/arrow/convert-columns-to-row-group.ts +3 -0
- package/src/lib/arrow/convert-schema-from-parquet.ts +97 -30
- package/src/lib/arrow/convert-schema-to-parquet.ts +16 -7
- package/src/lib/arrow/create-nested-arrow-vector.ts +589 -0
- package/src/lib/constants.ts +0 -2
- package/src/lib/encoders/encode-arrow-to-parquet.ts +10 -16
- package/src/lib/encoders/encode-table-to-parquet-js.ts +261 -0
- package/src/lib/geo/geospatial-metadata.ts +457 -0
- package/src/lib/parquet-page-index.ts +581 -0
- package/src/lib/parquet-predicate.ts +374 -0
- package/src/lib/parquet-source-worker-client.ts +39 -0
- package/src/lib/parquet-source-worker-decoder.ts +156 -0
- package/src/lib/parquet-source-worker-file.ts +56 -0
- package/src/lib/parquet-source-worker-types.ts +107 -0
- package/src/lib/parquet-worker-transport.ts +57 -0
- package/src/lib/parsers/convert-parquet-tables.ts +39 -0
- package/src/lib/parsers/get-parquet-schema.ts +3 -1
- package/src/lib/parsers/parse-geoparquet-to-geojson.ts +27 -14
- package/src/lib/parsers/parse-parquet-tables.ts +82 -0
- package/src/lib/parsers/parse-parquet-to-arrow-js.ts +829 -0
- package/src/lib/parsers/parse-parquet-to-arrow.ts +63 -36
- package/src/lib/parsers/parse-parquet-to-columns.ts +6 -7
- package/src/lib/parsers/parse-parquet-to-json.ts +101 -33
- package/src/lib/sources/parquet-range-file.ts +359 -0
- package/src/lib/sources/single-batch-queue.ts +95 -0
- package/src/lib/utils/load-wasm-node.ts +25 -0
- package/src/lib/utils/load-wasm.ts +36 -13
- package/src/lib/utils/make-stream-iterator.ts +126 -14
- package/src/lib/utils/normalize-parquet-options.ts +14 -0
- package/src/parquet-dataset-source.ts +488 -0
- package/src/parquet-format.ts +2 -0
- package/src/parquet-js-loader-types.ts +52 -0
- package/src/parquet-js-loader.ts +83 -0
- package/src/parquet-js-writer.ts +68 -0
- package/src/parquet-loader-base.ts +34 -0
- package/src/parquet-loader-options.ts +51 -0
- package/src/parquet-loader-types.ts +35 -0
- package/src/parquet-loader.ts +115 -0
- package/src/parquet-source-capabilities.ts +56 -0
- package/src/parquet-source-loader-types.ts +87 -0
- package/src/parquet-source-loader.ts +1265 -0
- package/src/parquet-source-types.ts +458 -0
- package/src/parquet-source-worker-url.ts +23 -0
- package/src/parquet-worker-url.ts +18 -0
- package/src/parquet-writer.ts +42 -0
- package/src/parquetjs/LICENSE +23 -1
- package/src/parquetjs/codecs/byte-stream-split.ts +221 -0
- package/src/parquetjs/codecs/declare.ts +35 -3
- package/src/parquetjs/codecs/delta.ts +587 -0
- package/src/parquetjs/codecs/dictionary.ts +22 -4
- package/src/parquetjs/codecs/index.ts +18 -0
- package/src/parquetjs/codecs/plain.ts +149 -87
- package/src/parquetjs/codecs/rle.ts +268 -82
- package/src/parquetjs/compression.ts +110 -155
- package/src/parquetjs/encoder/dictionary-planner.ts +99 -0
- package/src/parquetjs/encoder/page-planner.ts +83 -0
- package/src/parquetjs/encoder/parquet-encoder.ts +378 -77
- package/src/parquetjs/parquet-thrift/BsonType.ts +1 -1
- package/src/parquetjs/parquet-thrift/ColumnChunk.ts +2 -2
- package/src/parquetjs/parquet-thrift/ColumnIndex.ts +13 -13
- package/src/parquetjs/parquet-thrift/ColumnMetaData.ts +2 -2
- package/src/parquetjs/parquet-thrift/ColumnOrder.ts +1 -1
- package/src/parquetjs/parquet-thrift/DataPageHeader.ts +1 -1
- package/src/parquetjs/parquet-thrift/DataPageHeaderV2.ts +1 -1
- package/src/parquetjs/parquet-thrift/DateType.ts +1 -1
- package/src/parquetjs/parquet-thrift/DecimalType.ts +1 -1
- package/src/parquetjs/parquet-thrift/DictionaryPageHeader.ts +1 -1
- package/src/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.ts +13 -0
- package/src/parquetjs/parquet-thrift/Encoding.ts +2 -1
- package/src/parquetjs/parquet-thrift/EnumType.ts +1 -1
- package/src/parquetjs/parquet-thrift/FileMetaData.ts +2 -2
- package/src/parquetjs/parquet-thrift/Float16Type.ts +28 -0
- package/src/parquetjs/parquet-thrift/GeographyType.ts +54 -0
- package/src/parquetjs/parquet-thrift/GeometryType.ts +43 -0
- package/src/parquetjs/parquet-thrift/IndexPageHeader.ts +1 -1
- package/src/parquetjs/parquet-thrift/IntType.ts +1 -1
- package/src/parquetjs/parquet-thrift/JsonType.ts +1 -1
- package/src/parquetjs/parquet-thrift/KeyValue.ts +1 -1
- package/src/parquetjs/parquet-thrift/ListType.ts +1 -1
- package/src/parquetjs/parquet-thrift/LogicalType.ts +97 -1
- package/src/parquetjs/parquet-thrift/MapType.ts +1 -1
- package/src/parquetjs/parquet-thrift/MicroSeconds.ts +1 -1
- package/src/parquetjs/parquet-thrift/MilliSeconds.ts +1 -1
- package/src/parquetjs/parquet-thrift/NanoSeconds.ts +28 -0
- package/src/parquetjs/parquet-thrift/NullType.ts +1 -1
- package/src/parquetjs/parquet-thrift/OffsetIndex.ts +1 -1
- package/src/parquetjs/parquet-thrift/PageEncodingStats.ts +1 -1
- package/src/parquetjs/parquet-thrift/PageHeader.ts +1 -1
- package/src/parquetjs/parquet-thrift/PageLocation.ts +2 -2
- package/src/parquetjs/parquet-thrift/RowGroup.ts +2 -2
- package/src/parquetjs/parquet-thrift/SchemaElement.ts +1 -1
- package/src/parquetjs/parquet-thrift/SortingColumn.ts +1 -1
- package/src/parquetjs/parquet-thrift/Statistics.ts +50 -14
- package/src/parquetjs/parquet-thrift/StringType.ts +1 -1
- package/src/parquetjs/parquet-thrift/TimeType.ts +1 -1
- package/src/parquetjs/parquet-thrift/TimeUnit.ts +25 -1
- package/src/parquetjs/parquet-thrift/TimestampType.ts +1 -1
- package/src/parquetjs/parquet-thrift/TypeDefinedOrder.ts +1 -1
- package/src/parquetjs/parquet-thrift/UUIDType.ts +1 -1
- package/src/parquetjs/parquet-thrift/VariantType.ts +43 -0
- package/src/parquetjs/parquet-thrift/index.ts +6 -4
- package/src/parquetjs/parser/decoders.ts +487 -133
- package/src/parquetjs/parser/parquet-reader.ts +297 -71
- package/src/parquetjs/schema/declare.ts +99 -7
- package/src/parquetjs/schema/schema.ts +23 -3
- package/src/parquetjs/schema/shred.ts +112 -35
- package/src/parquetjs/schema/types.ts +294 -61
- package/src/parquetjs/utils/binary-utils.ts +132 -0
- package/src/parquetjs/utils/file-utils.ts +4 -4
- package/src/parquetjs/utils/read-utils.ts +56 -55
- package/src/parquetjs/utils/thrift-runtime.ts +109 -0
- package/src/parquetjs/utils/uint8-array-compact-protocol-writer.ts +254 -0
- package/src/parquetjs/utils/uint8-array-compact-protocol.ts +322 -0
- package/src/parquetjs/utils/uint8-array-transport.ts +79 -0
- package/src/polyfills/process.ts +17 -0
- package/src/unbundled.ts +33 -0
- package/src/wasm.ts +6 -0
- package/src/workers/parquet-source-worker.ts +21 -0
- package/src/workers/parquet-worker-node.ts +5 -0
- package/src/workers/parquet-worker.ts +31 -0
- package/dist/parquet-arrow-loader.d.ts +0 -43
- package/dist/parquet-arrow-loader.d.ts.map +0 -1
- package/dist/parquet-arrow-loader.js +0 -49
- package/dist/parquet-arrow-loader.js.map +0 -1
- package/dist/parquet-arrow-writer.d.ts +0 -9
- package/dist/parquet-arrow-writer.d.ts.map +0 -1
- package/dist/parquet-arrow-writer.js +0 -23
- package/dist/parquet-arrow-writer.js.map +0 -1
- package/dist/parquet-json-loader.d.ts +0 -148
- package/dist/parquet-json-loader.d.ts.map +0 -1
- package/dist/parquet-json-loader.js +0 -106
- package/dist/parquet-json-loader.js.map +0 -1
- package/dist/parquet-json-writer.d.ts +0 -19
- package/dist/parquet-json-writer.d.ts.map +0 -1
- package/dist/parquet-json-writer.js +0 -20
- package/dist/parquet-json-writer.js.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.browser.d.ts +0 -3
- package/dist/polyfills/buffer/buffer-polyfill.browser.d.ts.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.browser.js +0 -12
- package/dist/polyfills/buffer/buffer-polyfill.browser.js.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.node.d.ts +0 -3
- package/dist/polyfills/buffer/buffer-polyfill.node.d.ts.map +0 -1
- package/dist/polyfills/buffer/buffer-polyfill.node.js +0 -17
- package/dist/polyfills/buffer/buffer-polyfill.node.js.map +0 -1
- package/dist/polyfills/buffer/buffer.d.ts +0 -222
- package/dist/polyfills/buffer/buffer.d.ts.map +0 -1
- package/dist/polyfills/buffer/buffer.js +0 -1868
- package/dist/polyfills/buffer/buffer.js.map +0 -1
- package/dist/polyfills/buffer/index.d.ts +0 -4
- package/dist/polyfills/buffer/index.d.ts.map +0 -1
- package/dist/polyfills/buffer/index.js +0 -9
- package/dist/polyfills/buffer/index.js.map +0 -1
- package/dist/polyfills/buffer/install-buffer-polyfill.d.ts +0 -2
- package/dist/polyfills/buffer/install-buffer-polyfill.d.ts.map +0 -1
- package/dist/polyfills/buffer/install-buffer-polyfill.js +0 -10
- package/dist/polyfills/buffer/install-buffer-polyfill.js.map +0 -1
- package/dist/workers/parquet-json-worker.d.ts +0 -2
- package/dist/workers/parquet-json-worker.d.ts.map +0 -1
- package/dist/workers/parquet-json-worker.js +0 -7
- package/dist/workers/parquet-json-worker.js.map +0 -1
- package/src/parquet-arrow-loader.ts +0 -74
- package/src/parquet-arrow-writer.ts +0 -33
- package/src/parquet-json-loader.ts +0 -160
- package/src/parquet-json-writer.ts +0 -27
- package/src/parquetjs/modules.d.ts +0 -25
- package/src/polyfills/buffer/buffer-polyfill.browser.ts +0 -14
- package/src/polyfills/buffer/buffer-polyfill.node.ts +0 -19
- package/src/polyfills/buffer/buffer.ts +0 -2205
- package/src/polyfills/buffer/index.ts +0 -11
- package/src/polyfills/buffer/install-buffer-polyfill.ts +0 -12
- package/src/workers/parquet-json-worker.ts +0 -8
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { CoreAPI } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { Schema } from '@loaders.gl/schema';
|
|
3
|
+
import type { ParquetDatasetBatch, ParquetDatasetFileQuery, ParquetDatasetFiles, ParquetDatasetReadOptions, ParquetDatasetSourceOptions, ParquetDatasetTelemetry } from "./parquet-source-types.js";
|
|
4
|
+
export type { ParquetDatasetBatch, ParquetDatasetBatchProvenance, ParquetDatasetBoundingBox, ParquetDatasetFile, ParquetDatasetFileCollection, ParquetDatasetFileProvider, ParquetDatasetFileQuery, ParquetDatasetFiles, ParquetDatasetPartitionValue, ParquetDatasetReadOptions, ParquetDatasetSourceOptions, ParquetDatasetTelemetry } from "./parquet-source-types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Multi-file Parquet source that composes catalog discovery with selective `ParquetSource` reads.
|
|
7
|
+
*
|
|
8
|
+
* The source accepts static descriptors or a lazy provider, allowing STAC and other catalogs to be
|
|
9
|
+
* injected without coupling `@loaders.gl/parquet` to a catalog protocol.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ParquetDatasetSource {
|
|
12
|
+
/** Static descriptors or lazy catalog-backed file provider. */
|
|
13
|
+
readonly files: ParquetDatasetFiles;
|
|
14
|
+
/** Child-source and dataset orchestration options. */
|
|
15
|
+
readonly options: ParquetDatasetSourceOptions;
|
|
16
|
+
/** Runtime hooks forwarded to child Parquet sources. */
|
|
17
|
+
readonly coreApi?: CoreAPI;
|
|
18
|
+
/** Abort controllers for active dataset reads. */
|
|
19
|
+
private readonly activeReadControllers;
|
|
20
|
+
/** Whether the dataset source has been permanently closed. */
|
|
21
|
+
private closed;
|
|
22
|
+
/** Cumulative dataset and child-source telemetry. */
|
|
23
|
+
private readonly telemetry;
|
|
24
|
+
/** Creates a logical dataset over static or lazily discovered Parquet files. */
|
|
25
|
+
constructor(files: ParquetDatasetFiles, options?: ParquetDatasetSourceOptions, coreApi?: CoreAPI);
|
|
26
|
+
/** Returns the schema of the first selected file, closing its temporary child source afterward. */
|
|
27
|
+
getSchema(query?: ParquetDatasetFileQuery): Promise<Schema>;
|
|
28
|
+
/** Returns an immutable snapshot of cumulative dataset and child-source telemetry. */
|
|
29
|
+
getTelemetry(): ParquetDatasetTelemetry;
|
|
30
|
+
/**
|
|
31
|
+
* Reads selected files as deterministic, file-ordered Arrow batches.
|
|
32
|
+
*
|
|
33
|
+
* Files are decoded concurrently. Each later file is limited to one buffered batch until all
|
|
34
|
+
* earlier files have been yielded, bounding memory while retaining stable provider order.
|
|
35
|
+
*/
|
|
36
|
+
read(options?: ParquetDatasetReadOptions): AsyncIterable<ParquetDatasetBatch>;
|
|
37
|
+
/** Permanently closes this dataset source and aborts every active read. */
|
|
38
|
+
close(): Promise<void>;
|
|
39
|
+
/** Reads one child source into its bounded file-order queue. */
|
|
40
|
+
private readFile;
|
|
41
|
+
/** Establishes and validates a stable field schema for concurrently opened files. */
|
|
42
|
+
private schemaFingerprintPromise;
|
|
43
|
+
/** Validates one child schema against the first file schema observed by this source. */
|
|
44
|
+
private validateFileSchema;
|
|
45
|
+
/** Creates a child source while preserving caller fetch, worker, range, and decode options. */
|
|
46
|
+
private createSource;
|
|
47
|
+
/** Lazily discovers descriptors and applies conservative local pruning. */
|
|
48
|
+
private getSelectedFiles;
|
|
49
|
+
/** Adds a final child-source telemetry snapshot exactly once. */
|
|
50
|
+
private addParquetTelemetry;
|
|
51
|
+
/** Throws when an operation is attempted after `close()`. */
|
|
52
|
+
private assertOpen;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=parquet-dataset-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parquet-dataset-source.d.ts","sourceRoot":"","sources":["../src/parquet-dataset-source.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAI/C,OAAO,KAAK,EACV,mBAAmB,EAKnB,uBAAuB,EACvB,mBAAmB,EAEnB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EAGxB,kCAA+B;AAEhC,YAAY,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,yBAAyB,EACzB,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACxB,kCAA+B;AAkBhC;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,wDAAwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA8B;IACpE,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAS;IACvB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAE7D,gFAAgF;gBAE9E,KAAK,EAAE,mBAAmB,EAC1B,OAAO,GAAE,2BAAgC,EACzC,OAAO,CAAC,EAAE,OAAO;IAYnB,mGAAmG;IAC7F,SAAS,CAAC,KAAK,GAAE,uBAA4B,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBrE,sFAAsF;IACtF,YAAY,IAAI,uBAAuB;IAOvC;;;;;OAKG;IACI,IAAI,CAAC,OAAO,GAAE,yBAA8B,GAAG,aAAa,CAAC,mBAAmB,CAAC;IAgFxF,2EAA2E;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,gEAAgE;YAClD,QAAQ;IA+BtB,qFAAqF;IACrF,OAAO,CAAC,wBAAwB,CAAgC;IAEhE,wFAAwF;YAC1E,kBAAkB;IAmBhC,+FAA+F;IAC/F,OAAO,CAAC,YAAY;IAIpB,2EAA2E;YAC5D,gBAAgB;IAyB/B,iEAAiE;IACjE,OAAO,CAAC,mBAAmB;IAM3B,6DAA6D;IAC7D,OAAO,CAAC,UAAU;CAKnB"}
|
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { SingleBatchQueue } from "./lib/sources/single-batch-queue.js";
|
|
5
|
+
import { ParquetSource } from "./parquet-source-loader.js";
|
|
6
|
+
const DEFAULT_FILE_CONCURRENCY = 4;
|
|
7
|
+
/**
|
|
8
|
+
* Multi-file Parquet source that composes catalog discovery with selective `ParquetSource` reads.
|
|
9
|
+
*
|
|
10
|
+
* The source accepts static descriptors or a lazy provider, allowing STAC and other catalogs to be
|
|
11
|
+
* injected without coupling `@loaders.gl/parquet` to a catalog protocol.
|
|
12
|
+
*/
|
|
13
|
+
export class ParquetDatasetSource {
|
|
14
|
+
/** Static descriptors or lazy catalog-backed file provider. */
|
|
15
|
+
files;
|
|
16
|
+
/** Child-source and dataset orchestration options. */
|
|
17
|
+
options;
|
|
18
|
+
/** Runtime hooks forwarded to child Parquet sources. */
|
|
19
|
+
coreApi;
|
|
20
|
+
/** Abort controllers for active dataset reads. */
|
|
21
|
+
activeReadControllers = new Set();
|
|
22
|
+
/** Whether the dataset source has been permanently closed. */
|
|
23
|
+
closed = false;
|
|
24
|
+
/** Cumulative dataset and child-source telemetry. */
|
|
25
|
+
telemetry = createParquetDatasetTelemetry();
|
|
26
|
+
/** Creates a logical dataset over static or lazily discovered Parquet files. */
|
|
27
|
+
constructor(files, options = {}, coreApi) {
|
|
28
|
+
if (!Array.isArray(files) && typeof files !== 'function') {
|
|
29
|
+
throw new Error('ParquetDatasetSource files must be a reusable descriptor array or a provider function');
|
|
30
|
+
}
|
|
31
|
+
this.files = files;
|
|
32
|
+
this.options = options;
|
|
33
|
+
this.coreApi = coreApi;
|
|
34
|
+
}
|
|
35
|
+
/** Returns the schema of the first selected file, closing its temporary child source afterward. */
|
|
36
|
+
async getSchema(query = {}) {
|
|
37
|
+
this.assertOpen();
|
|
38
|
+
const iterator = this.getSelectedFiles(query)[Symbol.asyncIterator]();
|
|
39
|
+
try {
|
|
40
|
+
const first = await iterator.next();
|
|
41
|
+
if (first.done) {
|
|
42
|
+
throw new Error('ParquetDatasetSource query selected no files');
|
|
43
|
+
}
|
|
44
|
+
const source = this.createSource(first.value.file);
|
|
45
|
+
this.telemetry.filesOpened++;
|
|
46
|
+
try {
|
|
47
|
+
return await source.getSchema({ signal: query.signal });
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
await source.close();
|
|
51
|
+
this.addParquetTelemetry(source.getTelemetry());
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
await iterator.return?.();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/** Returns an immutable snapshot of cumulative dataset and child-source telemetry. */
|
|
59
|
+
getTelemetry() {
|
|
60
|
+
return Object.freeze({
|
|
61
|
+
...this.telemetry,
|
|
62
|
+
parquet: Object.freeze({ ...this.telemetry.parquet })
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Reads selected files as deterministic, file-ordered Arrow batches.
|
|
67
|
+
*
|
|
68
|
+
* Files are decoded concurrently. Each later file is limited to one buffered batch until all
|
|
69
|
+
* earlier files have been yielded, bounding memory while retaining stable provider order.
|
|
70
|
+
*/
|
|
71
|
+
async *read(options = {}) {
|
|
72
|
+
this.assertOpen();
|
|
73
|
+
const readContext = createDatasetAbortContext(options.signal);
|
|
74
|
+
this.activeReadControllers.add(readContext.abortController);
|
|
75
|
+
const selectedFiles = this.getSelectedFiles({
|
|
76
|
+
...options,
|
|
77
|
+
signal: readContext.abortController.signal
|
|
78
|
+
});
|
|
79
|
+
const iterator = selectedFiles[Symbol.asyncIterator]();
|
|
80
|
+
const scheduledReads = new Map();
|
|
81
|
+
let nextSchedulePosition = 0;
|
|
82
|
+
let nextYieldPosition = 0;
|
|
83
|
+
let providerComplete = false;
|
|
84
|
+
let discoveryError;
|
|
85
|
+
const fileConcurrency = normalizeFileConcurrency(options.fileConcurrency ?? this.options.parquetDataset?.fileConcurrency);
|
|
86
|
+
const scheduleNext = async () => {
|
|
87
|
+
if (providerComplete) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const next = await iterator.next();
|
|
91
|
+
if (next.done) {
|
|
92
|
+
providerComplete = true;
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const position = nextSchedulePosition++;
|
|
96
|
+
const queue = new SingleBatchQueue();
|
|
97
|
+
const task = this.readFile(next.value, options, queue, readContext.abortController.signal);
|
|
98
|
+
scheduledReads.set(position, { queue, task });
|
|
99
|
+
};
|
|
100
|
+
const fillAvailableSlots = async () => {
|
|
101
|
+
try {
|
|
102
|
+
while (scheduledReads.size < fileConcurrency && !providerComplete) {
|
|
103
|
+
await scheduleNext();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
discoveryError = error;
|
|
108
|
+
providerComplete = true;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
try {
|
|
112
|
+
await scheduleNext();
|
|
113
|
+
let discoveryPromise = fillAvailableSlots();
|
|
114
|
+
while (scheduledReads.size > 0) {
|
|
115
|
+
const scheduledRead = scheduledReads.get(nextYieldPosition);
|
|
116
|
+
if (!scheduledRead) {
|
|
117
|
+
throw new Error('ParquetDatasetSource internal file ordering error');
|
|
118
|
+
}
|
|
119
|
+
for await (const batch of scheduledRead.queue) {
|
|
120
|
+
throwIfAborted(readContext.abortController.signal);
|
|
121
|
+
this.telemetry.batchesEmitted++;
|
|
122
|
+
this.telemetry.rowsEmitted += batch.length;
|
|
123
|
+
yield batch;
|
|
124
|
+
}
|
|
125
|
+
await scheduledRead.task;
|
|
126
|
+
scheduledReads.delete(nextYieldPosition++);
|
|
127
|
+
await discoveryPromise;
|
|
128
|
+
if (discoveryError !== undefined) {
|
|
129
|
+
throw discoveryError;
|
|
130
|
+
}
|
|
131
|
+
discoveryPromise = fillAvailableSlots();
|
|
132
|
+
}
|
|
133
|
+
await discoveryPromise;
|
|
134
|
+
if (discoveryError !== undefined) {
|
|
135
|
+
throw discoveryError;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
finally {
|
|
139
|
+
readContext.abortController.abort();
|
|
140
|
+
readContext.removeSignalListener();
|
|
141
|
+
this.activeReadControllers.delete(readContext.abortController);
|
|
142
|
+
await iterator.return?.();
|
|
143
|
+
await Promise.allSettled([...scheduledReads.values()].map(read => read.task));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/** Permanently closes this dataset source and aborts every active read. */
|
|
147
|
+
async close() {
|
|
148
|
+
if (this.closed) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
this.closed = true;
|
|
152
|
+
for (const abortController of this.activeReadControllers) {
|
|
153
|
+
abortController.abort();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/** Reads one child source into its bounded file-order queue. */
|
|
157
|
+
async readFile(indexedFile, options, queue, signal) {
|
|
158
|
+
const source = this.createSource(indexedFile.file);
|
|
159
|
+
this.telemetry.filesOpened++;
|
|
160
|
+
try {
|
|
161
|
+
if (this.options.parquetDataset?.validateSchema !== false) {
|
|
162
|
+
await this.validateFileSchema(source, indexedFile, signal);
|
|
163
|
+
}
|
|
164
|
+
for await (const batch of source.read({
|
|
165
|
+
columns: options.columns,
|
|
166
|
+
batchSize: options.batchSize,
|
|
167
|
+
concurrency: options.concurrency,
|
|
168
|
+
rowGroupFilter: options.rowGroupFilter,
|
|
169
|
+
predicate: options.predicate,
|
|
170
|
+
signal
|
|
171
|
+
})) {
|
|
172
|
+
await queue.push(createDatasetBatch(batch, indexedFile), signal);
|
|
173
|
+
}
|
|
174
|
+
queue.finish();
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
queue.fail(error);
|
|
178
|
+
}
|
|
179
|
+
finally {
|
|
180
|
+
await source.close();
|
|
181
|
+
this.addParquetTelemetry(source.getTelemetry());
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/** Establishes and validates a stable field schema for concurrently opened files. */
|
|
185
|
+
schemaFingerprintPromise = null;
|
|
186
|
+
/** Validates one child schema against the first file schema observed by this source. */
|
|
187
|
+
async validateFileSchema(source, indexedFile, signal) {
|
|
188
|
+
const schema = await source.getSchema({ signal });
|
|
189
|
+
const fingerprint = getSchemaFingerprint(schema);
|
|
190
|
+
if (!this.schemaFingerprintPromise) {
|
|
191
|
+
this.schemaFingerprintPromise = Promise.resolve(fingerprint);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
const expectedFingerprint = await this.schemaFingerprintPromise;
|
|
195
|
+
if (fingerprint !== expectedFingerprint) {
|
|
196
|
+
throw new Error(`Parquet dataset file ${getDatasetFileId(indexedFile.file, indexedFile.index)} has an incompatible schema`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/** Creates a child source while preserving caller fetch, worker, range, and decode options. */
|
|
200
|
+
createSource(file) {
|
|
201
|
+
return new ParquetSource(file.data, this.options, this.coreApi);
|
|
202
|
+
}
|
|
203
|
+
/** Lazily discovers descriptors and applies conservative local pruning. */
|
|
204
|
+
async *getSelectedFiles(query) {
|
|
205
|
+
throwIfAborted(query.signal);
|
|
206
|
+
const collection = await getFileCollection(this.files, query);
|
|
207
|
+
let index = 0;
|
|
208
|
+
for await (const file of collection) {
|
|
209
|
+
throwIfAborted(query.signal);
|
|
210
|
+
validateDatasetFile(file, index);
|
|
211
|
+
this.telemetry.filesDiscovered++;
|
|
212
|
+
if (query.bbox && file.bbox && !doBoundingBoxesIntersect(query.bbox, file.bbox)) {
|
|
213
|
+
this.telemetry.filesPrunedByBoundingBox++;
|
|
214
|
+
index++;
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
217
|
+
if (query.partitions && !matchesPartitions(file.partitions, query.partitions)) {
|
|
218
|
+
this.telemetry.filesPrunedByPartitions++;
|
|
219
|
+
index++;
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
this.telemetry.filesSelected++;
|
|
223
|
+
yield { file, index: index++ };
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/** Adds a final child-source telemetry snapshot exactly once. */
|
|
227
|
+
addParquetTelemetry(telemetry) {
|
|
228
|
+
for (const key of Object.keys(telemetry)) {
|
|
229
|
+
this.telemetry.parquet[key] += telemetry[key];
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
/** Throws when an operation is attempted after `close()`. */
|
|
233
|
+
assertOpen() {
|
|
234
|
+
if (this.closed) {
|
|
235
|
+
throw new Error('ParquetDatasetSource is closed');
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
/** Normalizes static descriptors and lazy providers into one file collection. */
|
|
240
|
+
async function getFileCollection(files, query) {
|
|
241
|
+
return typeof files === 'function' ? await files(query) : files;
|
|
242
|
+
}
|
|
243
|
+
/** Attaches dataset-level descriptor provenance without copying Arrow buffers. */
|
|
244
|
+
function createDatasetBatch(batch, indexedFile) {
|
|
245
|
+
const datasetProvenance = {
|
|
246
|
+
datasetFileIndex: indexedFile.index,
|
|
247
|
+
datasetFileId: getDatasetFileId(indexedFile.file, indexedFile.index),
|
|
248
|
+
datasetPartitions: indexedFile.file.partitions,
|
|
249
|
+
datasetFileMetadata: indexedFile.file.metadata
|
|
250
|
+
};
|
|
251
|
+
const provenance = Object.freeze({
|
|
252
|
+
sourceId: batch.sourceId,
|
|
253
|
+
sourceUrl: batch.sourceUrl,
|
|
254
|
+
source: batch.source,
|
|
255
|
+
rowGroupIndex: batch.rowGroupIndex,
|
|
256
|
+
rowOffset: batch.rowOffset,
|
|
257
|
+
rowGroupRowOffset: batch.rowGroupRowOffset,
|
|
258
|
+
rowCount: batch.rowCount,
|
|
259
|
+
rowGroupRowIndices: batch.rowGroupRowIndices,
|
|
260
|
+
rowIndices: batch.rowIndices,
|
|
261
|
+
...datasetProvenance
|
|
262
|
+
});
|
|
263
|
+
return { ...batch, metadata: provenance, ...datasetProvenance };
|
|
264
|
+
}
|
|
265
|
+
/** Returns a stable descriptor identity for batch provenance and diagnostics. */
|
|
266
|
+
function getDatasetFileId(file, index) {
|
|
267
|
+
if (file.id) {
|
|
268
|
+
return file.id;
|
|
269
|
+
}
|
|
270
|
+
if (typeof file.data === 'string') {
|
|
271
|
+
return file.data;
|
|
272
|
+
}
|
|
273
|
+
return typeof File !== 'undefined' && file.data instanceof File && file.data.name
|
|
274
|
+
? file.data.name
|
|
275
|
+
: `blob-${index}`;
|
|
276
|
+
}
|
|
277
|
+
/** Validates a provider descriptor before opening a child source. */
|
|
278
|
+
function validateDatasetFile(file, index) {
|
|
279
|
+
if (!file || (typeof file.data !== 'string' && !(file.data instanceof Blob))) {
|
|
280
|
+
throw new Error(`Invalid Parquet dataset file descriptor at index ${index}`);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/** Tests 2D intersection while conservatively accepting additional dimensions. */
|
|
284
|
+
function doBoundingBoxesIntersect(left, right) {
|
|
285
|
+
const leftMaximumX = left.length === 6 ? left[3] : left[2];
|
|
286
|
+
const leftMaximumY = left.length === 6 ? left[4] : left[3];
|
|
287
|
+
const rightMaximumX = right.length === 6 ? right[3] : right[2];
|
|
288
|
+
const rightMaximumY = right.length === 6 ? right[4] : right[3];
|
|
289
|
+
return (left[0] <= rightMaximumX &&
|
|
290
|
+
leftMaximumX >= right[0] &&
|
|
291
|
+
left[1] <= rightMaximumY &&
|
|
292
|
+
leftMaximumY >= right[1]);
|
|
293
|
+
}
|
|
294
|
+
/** Tests exact partition constraints without rejecting files that omit a requested key. */
|
|
295
|
+
function matchesPartitions(partitions, query) {
|
|
296
|
+
for (const [key, requested] of Object.entries(query)) {
|
|
297
|
+
const actual = partitions?.[key];
|
|
298
|
+
if (actual === undefined) {
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
301
|
+
const accepted = Array.isArray(requested) ? requested : [requested];
|
|
302
|
+
if (!accepted.includes(actual)) {
|
|
303
|
+
return false;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return true;
|
|
307
|
+
}
|
|
308
|
+
/** Creates a deterministic field-only schema fingerprint for cross-file validation. */
|
|
309
|
+
function getSchemaFingerprint(schema) {
|
|
310
|
+
return JSON.stringify(schema.fields);
|
|
311
|
+
}
|
|
312
|
+
/** Validates and normalizes dataset-level file concurrency. */
|
|
313
|
+
function normalizeFileConcurrency(value) {
|
|
314
|
+
const concurrency = value ?? DEFAULT_FILE_CONCURRENCY;
|
|
315
|
+
if (!Number.isInteger(concurrency) || concurrency < 1) {
|
|
316
|
+
throw new Error(`parquetDataset.fileConcurrency must be a positive integer, received ${value}`);
|
|
317
|
+
}
|
|
318
|
+
return concurrency;
|
|
319
|
+
}
|
|
320
|
+
/** Creates linked cancellation for one dataset read. */
|
|
321
|
+
function createDatasetAbortContext(signal) {
|
|
322
|
+
const abortController = new AbortController();
|
|
323
|
+
const abort = () => abortController.abort(signal?.reason);
|
|
324
|
+
if (signal?.aborted) {
|
|
325
|
+
abort();
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
signal?.addEventListener('abort', abort, { once: true });
|
|
329
|
+
}
|
|
330
|
+
return {
|
|
331
|
+
abortController,
|
|
332
|
+
removeSignalListener: () => signal?.removeEventListener('abort', abort)
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
/** Throws a standard abort failure when a dataset read has been cancelled. */
|
|
336
|
+
function throwIfAborted(signal) {
|
|
337
|
+
if (signal?.aborted) {
|
|
338
|
+
throw signal.reason || new DOMException('Aborted', 'AbortError');
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
/** Creates zeroed cumulative dataset and child-source telemetry. */
|
|
342
|
+
function createParquetDatasetTelemetry() {
|
|
343
|
+
return {
|
|
344
|
+
filesDiscovered: 0,
|
|
345
|
+
filesSelected: 0,
|
|
346
|
+
filesPrunedByBoundingBox: 0,
|
|
347
|
+
filesPrunedByPartitions: 0,
|
|
348
|
+
filesOpened: 0,
|
|
349
|
+
batchesEmitted: 0,
|
|
350
|
+
rowsEmitted: 0,
|
|
351
|
+
parquet: {
|
|
352
|
+
rangeRequestCount: 0,
|
|
353
|
+
requestedBytes: 0,
|
|
354
|
+
downloadedBytes: 0,
|
|
355
|
+
cacheHits: 0,
|
|
356
|
+
networkDurationMs: 0,
|
|
357
|
+
failedRangeRequestCount: 0,
|
|
358
|
+
abortedRangeRequestCount: 0,
|
|
359
|
+
retryCount: 0,
|
|
360
|
+
decodeDurationMs: 0,
|
|
361
|
+
arrowConversionDurationMs: 0,
|
|
362
|
+
rowGroupsRequested: 0,
|
|
363
|
+
rowGroupsPruned: 0,
|
|
364
|
+
rowGroupsPrunedByStatistics: 0,
|
|
365
|
+
rowGroupsPrunedByPageIndex: 0,
|
|
366
|
+
pageIndexesRead: 0,
|
|
367
|
+
pagesRead: 0,
|
|
368
|
+
pagesPruned: 0,
|
|
369
|
+
rowsPrunedByPageIndex: 0,
|
|
370
|
+
rowGroupsDecoded: 0,
|
|
371
|
+
batchesEmitted: 0,
|
|
372
|
+
rowsEmitted: 0,
|
|
373
|
+
predicateRowsTested: 0,
|
|
374
|
+
predicateRowsMatched: 0,
|
|
375
|
+
cancellationCount: 0,
|
|
376
|
+
failedReadCount: 0
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
//# sourceMappingURL=parquet-dataset-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parquet-dataset-source.js","sourceRoot":"","sources":["../src/parquet-dataset-source.ts"],"names":[],"mappings":"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"}
|
package/dist/parquet-format.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare const ParquetFormat: {
|
|
2
2
|
readonly name: "Apache Parquet";
|
|
3
3
|
readonly category: "table";
|
|
4
|
+
readonly encoding: "parquet";
|
|
5
|
+
readonly format: "parquet";
|
|
4
6
|
readonly extensions: ["parquet"];
|
|
5
7
|
readonly mimeTypes: ["application/octet-stream"];
|
|
6
8
|
readonly binary: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parquet-format.d.ts","sourceRoot":"","sources":["../src/parquet-format.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"parquet-format.d.ts","sourceRoot":"","sources":["../src/parquet-format.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa;;;;;;;;;CASU,CAAC"}
|
package/dist/parquet-format.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parquet-format.js","sourceRoot":"","sources":["../src/parquet-format.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,SAAS,EAAE,CAAC,0BAA0B,CAAC;IACvC,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;CACW,CAAC"}
|
|
1
|
+
{"version":3,"file":"parquet-format.js","sourceRoot":"","sources":["../src/parquet-format.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,SAAS,EAAE,CAAC,0BAA0B,CAAC;IACvC,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;CACW,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ArrowTable, ArrowTableBatch, ObjectRowTable, ObjectRowTableBatch } from '@loaders.gl/schema';
|
|
2
|
+
import type { ParquetJSLoaderOptions } from "./parquet-loader-options.js";
|
|
3
|
+
/** Preloads the parser-bearing TypeScript Parquet loader implementation. */
|
|
4
|
+
declare function preloadParquetJSLoader(): Promise<{
|
|
5
|
+
readonly worker: false;
|
|
6
|
+
readonly parse: (arrayBuffer: ArrayBuffer, options?: ParquetJSLoaderOptions) => Promise<ArrowTable> | Promise<ObjectRowTable>;
|
|
7
|
+
readonly parseFile: (file: import("@loaders.gl/loader-utils").ReadableFile, options?: ParquetJSLoaderOptions) => Promise<ArrowTable> | Promise<ObjectRowTable>;
|
|
8
|
+
readonly parseFileInBatches: (file: import("@loaders.gl/loader-utils").ReadableFile, options?: ParquetJSLoaderOptions) => AsyncIterable<ArrowTableBatch> | AsyncIterable<ObjectRowTableBatch>;
|
|
9
|
+
readonly parseInBatches: (asyncIterator: AsyncIterable<ArrayBufferLike | ArrayBufferView> | Iterable<ArrayBufferLike | ArrayBufferView>, options?: ParquetJSLoaderOptions, _context?: unknown) => AsyncGenerator<ObjectRowTableBatch | ArrowTableBatch, void, any>;
|
|
10
|
+
readonly dataType: ObjectRowTable | ArrowTable;
|
|
11
|
+
readonly batchType: ObjectRowTableBatch | ArrowTableBatch;
|
|
12
|
+
readonly id: "parquet-js";
|
|
13
|
+
readonly module: "parquet";
|
|
14
|
+
readonly version: any;
|
|
15
|
+
readonly options: {
|
|
16
|
+
readonly parquet: {
|
|
17
|
+
columns: undefined;
|
|
18
|
+
preserveBinary: boolean;
|
|
19
|
+
shape: "object-row-table";
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
readonly name: "Apache Parquet";
|
|
23
|
+
readonly category: "table";
|
|
24
|
+
readonly encoding: "parquet";
|
|
25
|
+
readonly format: "parquet";
|
|
26
|
+
readonly extensions: ["parquet"];
|
|
27
|
+
readonly mimeTypes: ["application/octet-stream"];
|
|
28
|
+
readonly binary: true;
|
|
29
|
+
readonly tests: ["PAR1", "PARE"];
|
|
30
|
+
}>;
|
|
31
|
+
/** Metadata-only Parquet loader backed by the experimental TypeScript implementation. */
|
|
32
|
+
export declare const ParquetJSLoader: {
|
|
33
|
+
readonly dataType: ObjectRowTable | ArrowTable;
|
|
34
|
+
readonly batchType: ObjectRowTableBatch | ArrowTableBatch;
|
|
35
|
+
readonly id: "parquet-js";
|
|
36
|
+
readonly module: "parquet";
|
|
37
|
+
readonly version: any;
|
|
38
|
+
readonly worker: false;
|
|
39
|
+
readonly options: {
|
|
40
|
+
readonly parquet: {
|
|
41
|
+
columns: undefined;
|
|
42
|
+
preserveBinary: boolean;
|
|
43
|
+
shape: "object-row-table";
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
readonly preload: typeof preloadParquetJSLoader;
|
|
47
|
+
readonly name: "Apache Parquet";
|
|
48
|
+
readonly category: "table";
|
|
49
|
+
readonly encoding: "parquet";
|
|
50
|
+
readonly format: "parquet";
|
|
51
|
+
readonly extensions: ["parquet"];
|
|
52
|
+
readonly mimeTypes: ["application/octet-stream"];
|
|
53
|
+
readonly binary: true;
|
|
54
|
+
readonly tests: ["PAR1", "PARE"];
|
|
55
|
+
};
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=parquet-js-loader-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parquet-js-loader-types.d.ts","sourceRoot":"","sources":["../src/parquet-js-loader-types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAC,sBAAsB,EAAC,oCAAiC;AAarE,4EAA4E;AAC5E,iBAAe,sBAAsB;;;;;;uBASN,cAAc,GAAG,UAAU;wBAC1B,mBAAmB,GAAG,eAAe;;;;;;;;;;;;;;;;;;;GAPpE;AAED,yFAAyF;AACzF,eAAO,MAAM,eAAe;uBAGG,cAAc,GAAG,UAAU;wBAC1B,mBAAmB,GAAG,eAAe;;;;;;;;;;;;;;;;;;;;;CAcpE,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { ParquetFormat } from "./parquet-format.js";
|
|
5
|
+
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
|
+
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
7
|
+
const VERSION = typeof "5.0.0-alpha.2" !== 'undefined' ? "5.0.0-alpha.2" : 'latest';
|
|
8
|
+
/** Default option bag for the experimental parquetjs plain-row loader. */
|
|
9
|
+
const DEFAULT_PARQUET_JS_OPTIONS = {
|
|
10
|
+
columns: undefined,
|
|
11
|
+
preserveBinary: false,
|
|
12
|
+
shape: 'object-row-table'
|
|
13
|
+
};
|
|
14
|
+
/** Preloads the parser-bearing TypeScript Parquet loader implementation. */
|
|
15
|
+
async function preloadParquetJSLoader() {
|
|
16
|
+
const { ParquetJSLoaderWithParser } = await import('@loaders.gl/parquet/parquet-js-loader');
|
|
17
|
+
return ParquetJSLoaderWithParser;
|
|
18
|
+
}
|
|
19
|
+
/** Metadata-only Parquet loader backed by the experimental TypeScript implementation. */
|
|
20
|
+
export const ParquetJSLoader = {
|
|
21
|
+
...ParquetFormat,
|
|
22
|
+
dataType: null,
|
|
23
|
+
batchType: null,
|
|
24
|
+
id: 'parquet-js',
|
|
25
|
+
module: 'parquet',
|
|
26
|
+
version: VERSION,
|
|
27
|
+
worker: false,
|
|
28
|
+
options: {
|
|
29
|
+
parquet: DEFAULT_PARQUET_JS_OPTIONS
|
|
30
|
+
},
|
|
31
|
+
preload: preloadParquetJSLoader
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=parquet-js-loader-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parquet-js-loader-types.js","sourceRoot":"","sources":["../src/parquet-js-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAUpC,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAG/C,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,sBAAkB,KAAK,WAAW,CAAC,CAAC,iBAAa,CAAC,CAAC,QAAQ,CAAC;AAE5E,0EAA0E;AAC1E,MAAM,0BAA0B,GAAG;IACjC,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,KAAK;IACrB,KAAK,EAAE,kBAA2B;CACnC,CAAC;AAEF,4EAA4E;AAC5E,KAAK,UAAU,sBAAsB;IACnC,MAAM,EAAC,yBAAyB,EAAC,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;IAC1F,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,aAAa;IAEhB,QAAQ,EAAE,IAA8C;IACxD,SAAS,EAAE,IAAwD;IAEnE,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE;QACP,OAAO,EAAE,0BAA0B;KACpC;IACD,OAAO,EAAE,sBAAsB;CAKhC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ReadableFile } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { ArrowTable, ArrowTableBatch, ObjectRowTable, ObjectRowTableBatch } from '@loaders.gl/schema';
|
|
3
|
+
import type { ParquetJSLoaderOptions } from "./parquet-loader-options.js";
|
|
4
|
+
/** Parser-bearing TypeScript-only Parquet loader implementation. */
|
|
5
|
+
export declare const ParquetJSLoaderWithParser: {
|
|
6
|
+
readonly worker: false;
|
|
7
|
+
readonly parse: (arrayBuffer: ArrayBuffer, options?: ParquetJSLoaderOptions) => Promise<ArrowTable> | Promise<ObjectRowTable>;
|
|
8
|
+
readonly parseFile: (file: ReadableFile, options?: ParquetJSLoaderOptions) => Promise<ArrowTable> | Promise<ObjectRowTable>;
|
|
9
|
+
readonly parseFileInBatches: (file: ReadableFile, options?: ParquetJSLoaderOptions) => AsyncIterable<ArrowTableBatch> | AsyncIterable<ObjectRowTableBatch>;
|
|
10
|
+
readonly parseInBatches: (asyncIterator: AsyncIterable<ArrayBufferLike | ArrayBufferView> | Iterable<ArrayBufferLike | ArrayBufferView>, options?: ParquetJSLoaderOptions, _context?: unknown) => AsyncGenerator<ObjectRowTableBatch | ArrowTableBatch, void, any>;
|
|
11
|
+
readonly dataType: ObjectRowTable | ArrowTable;
|
|
12
|
+
readonly batchType: ObjectRowTableBatch | ArrowTableBatch;
|
|
13
|
+
readonly id: "parquet-js";
|
|
14
|
+
readonly module: "parquet";
|
|
15
|
+
readonly version: any;
|
|
16
|
+
readonly options: {
|
|
17
|
+
readonly parquet: {
|
|
18
|
+
columns: undefined;
|
|
19
|
+
preserveBinary: boolean;
|
|
20
|
+
shape: "object-row-table";
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
readonly name: "Apache Parquet";
|
|
24
|
+
readonly category: "table";
|
|
25
|
+
readonly encoding: "parquet";
|
|
26
|
+
readonly format: "parquet";
|
|
27
|
+
readonly extensions: ["parquet"];
|
|
28
|
+
readonly mimeTypes: ["application/octet-stream"];
|
|
29
|
+
readonly binary: true;
|
|
30
|
+
readonly tests: ["PAR1", "PARE"];
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=parquet-js-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parquet-js-loader.d.ts","sourceRoot":"","sources":["../src/parquet-js-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAE7E,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,KAAK,EAAC,sBAAsB,EAAC,oCAAiC;AAWrE,oEAAoE;AACpE,eAAO,MAAM,yBAAyB;;kCAGjB,WAAW,YAAY,sBAAsB;+BAOhD,YAAY,YAAY,sBAAsB;wCAMrC,YAAY,YAAY,sBAAsB;6CAQjE,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,GAChD,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC,YACrC,sBAAsB,aACrB,OAAO;;;;;;;;;;;;;;;;;;;;;CAerB,CAAC"}
|