@loaders.gl/parquet 3.3.0-alpha.4 → 3.3.0-alpha.6
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/dist/dist.min.js +14 -14
- package/dist/dist.min.js.map +2 -2
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/constants.js +3 -1
- package/dist/es5/constants.js.map +1 -1
- package/dist/es5/index.js +23 -39
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/convert-schema.js +2 -11
- package/dist/es5/lib/convert-schema.js.map +1 -1
- package/dist/es5/lib/parse-parquet.js +29 -72
- package/dist/es5/lib/parse-parquet.js.map +1 -1
- package/dist/es5/lib/read-array-buffer.js +0 -10
- package/dist/es5/lib/read-array-buffer.js.map +1 -1
- package/dist/es5/lib/wasm/encode-parquet-wasm.js +0 -11
- package/dist/es5/lib/wasm/encode-parquet-wasm.js.map +1 -1
- package/dist/es5/lib/wasm/load-wasm/index.js +0 -1
- package/dist/es5/lib/wasm/load-wasm/index.js.map +1 -1
- package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js +0 -14
- package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -1
- package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js +0 -10
- package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js.map +1 -1
- package/dist/es5/lib/wasm/parse-parquet-wasm.js +1 -19
- package/dist/es5/lib/wasm/parse-parquet-wasm.js.map +1 -1
- package/dist/es5/parquet-loader.js +2 -1
- package/dist/es5/parquet-loader.js.map +1 -1
- package/dist/es5/parquet-wasm-loader.js +2 -1
- package/dist/es5/parquet-wasm-loader.js.map +1 -1
- package/dist/es5/parquet-wasm-writer.js +1 -3
- package/dist/es5/parquet-wasm-writer.js.map +1 -1
- package/dist/es5/parquet-writer.js +1 -2
- package/dist/es5/parquet-writer.js.map +1 -1
- package/dist/es5/parquetjs/codecs/declare.js.map +1 -1
- package/dist/es5/parquetjs/codecs/dictionary.js +2 -9
- package/dist/es5/parquetjs/codecs/dictionary.js.map +1 -1
- package/dist/es5/parquetjs/codecs/index.js +0 -8
- package/dist/es5/parquetjs/codecs/index.js.map +1 -1
- package/dist/es5/parquetjs/codecs/plain.js +1 -77
- package/dist/es5/parquetjs/codecs/plain.js.map +1 -1
- package/dist/es5/parquetjs/codecs/rle.js +1 -39
- package/dist/es5/parquetjs/codecs/rle.js.map +1 -1
- package/dist/es5/parquetjs/compression.js +5 -30
- package/dist/es5/parquetjs/compression.js.map +1 -1
- package/dist/es5/parquetjs/encoder/writer.js +31 -149
- package/dist/es5/parquetjs/encoder/writer.js.map +1 -1
- package/dist/es5/parquetjs/file.js +3 -12
- package/dist/es5/parquetjs/file.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +0 -1
- package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/BsonType.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +0 -48
- package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +0 -47
- package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +0 -82
- package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +0 -25
- package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +0 -1
- package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +0 -1
- package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +0 -39
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -51
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DateType.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +0 -26
- package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -30
- package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/Encoding.js +0 -1
- package/dist/es5/parquetjs/parquet-thrift/Encoding.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/EnumType.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +0 -1
- package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +0 -59
- package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/IntType.js +0 -26
- package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/JsonType.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +0 -26
- package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ListType.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +0 -85
- package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/MapType.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/NullType.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +0 -25
- package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +0 -30
- package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +0 -54
- package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +0 -31
- package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageType.js +0 -1
- package/dist/es5/parquetjs/parquet-thrift/PageType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +0 -41
- package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +0 -59
- package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +0 -30
- package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/Statistics.js +0 -42
- package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/StringType.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TimeType.js +0 -27
- package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +0 -30
- package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +0 -27
- package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/Type.js +0 -1
- package/dist/es5/parquetjs/parquet-thrift/Type.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +0 -15
- package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/index.js +0 -86
- package/dist/es5/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/es5/parquetjs/parser/decoders.js +3 -82
- package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-cursor.js +5 -37
- package/dist/es5/parquetjs/parser/parquet-cursor.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-envelope-reader.js +2 -88
- package/dist/es5/parquetjs/parser/parquet-envelope-reader.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-reader.js +14 -67
- package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/es5/parquetjs/schema/declare.js +3 -7
- package/dist/es5/parquetjs/schema/declare.js.map +1 -1
- package/dist/es5/parquetjs/schema/schema.js +6 -34
- package/dist/es5/parquetjs/schema/schema.js.map +1 -1
- package/dist/es5/parquetjs/schema/shred.js +11 -41
- package/dist/es5/parquetjs/schema/shred.js.map +1 -1
- package/dist/es5/parquetjs/schema/types.js +3 -84
- package/dist/es5/parquetjs/schema/types.js.map +1 -1
- package/dist/es5/parquetjs/utils/buffer-utils.js +0 -2
- package/dist/es5/parquetjs/utils/buffer-utils.js.map +1 -1
- package/dist/es5/parquetjs/utils/file-utils.js +1 -7
- package/dist/es5/parquetjs/utils/file-utils.js.map +1 -1
- package/dist/es5/parquetjs/utils/read-utils.js +6 -38
- package/dist/es5/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/es5/workers/parquet-worker.js +0 -2
- package/dist/es5/workers/parquet-worker.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/constants.js +3 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/index.js +10 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/convert-schema.js +1 -7
- package/dist/esm/lib/convert-schema.js.map +1 -1
- package/dist/esm/lib/parse-parquet.js +2 -5
- package/dist/esm/lib/parse-parquet.js.map +1 -1
- package/dist/esm/lib/read-array-buffer.js +2 -1
- package/dist/esm/lib/read-array-buffer.js.map +1 -1
- package/dist/esm/lib/wasm/encode-parquet-wasm.js +1 -1
- package/dist/esm/lib/wasm/encode-parquet-wasm.js.map +1 -1
- package/dist/esm/lib/wasm/load-wasm/index.js.map +1 -1
- package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -1
- package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js.map +1 -1
- package/dist/esm/lib/wasm/parse-parquet-wasm.js +2 -3
- package/dist/esm/lib/wasm/parse-parquet-wasm.js.map +1 -1
- package/dist/esm/parquet-loader.js +3 -1
- package/dist/esm/parquet-loader.js.map +1 -1
- package/dist/esm/parquet-wasm-loader.js +3 -1
- package/dist/esm/parquet-wasm-loader.js.map +1 -1
- package/dist/esm/parquet-wasm-writer.js +2 -1
- package/dist/esm/parquet-wasm-writer.js.map +1 -1
- package/dist/esm/parquet-writer.js +2 -2
- package/dist/esm/parquet-writer.js.map +1 -1
- package/dist/esm/parquetjs/codecs/declare.js.map +1 -1
- package/dist/esm/parquetjs/codecs/dictionary.js +2 -1
- package/dist/esm/parquetjs/codecs/dictionary.js.map +1 -1
- package/dist/esm/parquetjs/codecs/index.js +2 -0
- package/dist/esm/parquetjs/codecs/index.js.map +1 -1
- package/dist/esm/parquetjs/codecs/plain.js +2 -68
- package/dist/esm/parquetjs/codecs/plain.js.map +1 -1
- package/dist/esm/parquetjs/codecs/rle.js +3 -29
- package/dist/esm/parquetjs/codecs/rle.js.map +1 -1
- package/dist/esm/parquetjs/compression.js +9 -5
- package/dist/esm/parquetjs/compression.js.map +1 -1
- package/dist/esm/parquetjs/encoder/writer.js +21 -51
- package/dist/esm/parquetjs/encoder/writer.js.map +1 -1
- package/dist/esm/parquetjs/file.js +1 -0
- package/dist/esm/parquetjs/file.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js +1 -1
- package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/BsonType.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/BsonType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js +0 -44
- package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js +0 -42
- package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js +0 -82
- package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js +0 -18
- package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js +1 -1
- package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js +0 -34
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -49
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/DateType.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/DateType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/DecimalType.js +0 -19
- package/dist/esm/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -24
- package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/Encoding.js +1 -1
- package/dist/esm/parquetjs/parquet-thrift/Encoding.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/EnumType.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/EnumType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js +1 -1
- package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js +2 -53
- package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/IntType.js +0 -19
- package/dist/esm/parquetjs/parquet-thrift/IntType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/JsonType.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/JsonType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/KeyValue.js +0 -19
- package/dist/esm/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ListType.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/ListType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/LogicalType.js +0 -90
- package/dist/esm/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/MapType.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/MapType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/NullType.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/NullType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js +0 -16
- package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js +0 -24
- package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/PageHeader.js +0 -49
- package/dist/esm/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/PageLocation.js +0 -24
- package/dist/esm/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/PageType.js +1 -1
- package/dist/esm/parquetjs/parquet-thrift/PageType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/RowGroup.js +0 -33
- package/dist/esm/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js +0 -59
- package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js +0 -24
- package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/Statistics.js +0 -38
- package/dist/esm/parquetjs/parquet-thrift/Statistics.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/StringType.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/StringType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/TimeType.js +0 -19
- package/dist/esm/parquetjs/parquet-thrift/TimeType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js +0 -24
- package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/TimestampType.js +0 -19
- package/dist/esm/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/Type.js +1 -1
- package/dist/esm/parquetjs/parquet-thrift/Type.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/UUIDType.js +1 -8
- package/dist/esm/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/index.js +1 -0
- package/dist/esm/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/esm/parquetjs/parser/decoders.js +9 -39
- package/dist/esm/parquetjs/parser/decoders.js.map +1 -1
- package/dist/esm/parquetjs/parser/parquet-cursor.js +1 -13
- package/dist/esm/parquetjs/parser/parquet-cursor.js.map +1 -1
- package/dist/esm/parquetjs/parser/parquet-envelope-reader.js +6 -32
- package/dist/esm/parquetjs/parser/parquet-envelope-reader.js.map +1 -1
- package/dist/esm/parquetjs/parser/parquet-reader.js +1 -18
- package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/esm/parquetjs/schema/declare.js +4 -4
- package/dist/esm/parquetjs/schema/declare.js.map +1 -1
- package/dist/esm/parquetjs/schema/schema.js +3 -29
- package/dist/esm/parquetjs/schema/schema.js.map +1 -1
- package/dist/esm/parquetjs/schema/shred.js +7 -22
- package/dist/esm/parquetjs/schema/shred.js.map +1 -1
- package/dist/esm/parquetjs/schema/types.js +3 -78
- package/dist/esm/parquetjs/schema/types.js.map +1 -1
- package/dist/esm/parquetjs/utils/buffer-utils.js +2 -1
- package/dist/esm/parquetjs/utils/buffer-utils.js.map +1 -1
- package/dist/esm/parquetjs/utils/file-utils.js +1 -0
- package/dist/esm/parquetjs/utils/file-utils.js.map +1 -1
- package/dist/esm/parquetjs/utils/read-utils.js +5 -12
- package/dist/esm/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/esm/workers/parquet-worker.js.map +1 -1
- package/dist/lib/wasm/load-wasm/load-wasm-browser.js +5 -1
- package/dist/lib/wasm/load-wasm/load-wasm-node.js +5 -1
- package/dist/parquet-worker.js +14 -14
- package/dist/parquet-worker.js.map +2 -2
- package/dist/parquetjs/codecs/index.js +5 -1
- package/dist/parquetjs/encoder/writer.d.ts +1 -0
- package/dist/parquetjs/encoder/writer.d.ts.map +1 -1
- package/dist/parquetjs/encoder/writer.js +5 -1
- package/dist/parquetjs/parquet-thrift/BsonType.js +5 -1
- package/dist/parquetjs/parquet-thrift/ColumnChunk.js +5 -1
- package/dist/parquetjs/parquet-thrift/ColumnIndex.js +5 -1
- package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +5 -1
- package/dist/parquetjs/parquet-thrift/ColumnOrder.js +5 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeader.js +5 -1
- package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +5 -1
- package/dist/parquetjs/parquet-thrift/DateType.js +5 -1
- package/dist/parquetjs/parquet-thrift/DecimalType.js +5 -1
- package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +5 -1
- package/dist/parquetjs/parquet-thrift/EnumType.js +5 -1
- package/dist/parquetjs/parquet-thrift/FileMetaData.js +5 -1
- package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +5 -1
- package/dist/parquetjs/parquet-thrift/IntType.js +5 -1
- package/dist/parquetjs/parquet-thrift/JsonType.js +5 -1
- package/dist/parquetjs/parquet-thrift/KeyValue.js +5 -1
- package/dist/parquetjs/parquet-thrift/ListType.js +5 -1
- package/dist/parquetjs/parquet-thrift/LogicalType.js +5 -1
- package/dist/parquetjs/parquet-thrift/MapType.js +5 -1
- package/dist/parquetjs/parquet-thrift/MicroSeconds.js +5 -1
- package/dist/parquetjs/parquet-thrift/MilliSeconds.js +5 -1
- package/dist/parquetjs/parquet-thrift/NullType.js +5 -1
- package/dist/parquetjs/parquet-thrift/OffsetIndex.js +5 -1
- package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +5 -1
- package/dist/parquetjs/parquet-thrift/PageHeader.js +5 -1
- package/dist/parquetjs/parquet-thrift/PageLocation.js +5 -1
- package/dist/parquetjs/parquet-thrift/RowGroup.js +5 -1
- package/dist/parquetjs/parquet-thrift/SchemaElement.js +5 -1
- package/dist/parquetjs/parquet-thrift/SortingColumn.js +5 -1
- package/dist/parquetjs/parquet-thrift/Statistics.js +5 -1
- package/dist/parquetjs/parquet-thrift/StringType.js +5 -1
- package/dist/parquetjs/parquet-thrift/TimeType.js +5 -1
- package/dist/parquetjs/parquet-thrift/TimeUnit.js +5 -1
- package/dist/parquetjs/parquet-thrift/TimestampType.js +5 -1
- package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +5 -1
- package/dist/parquetjs/parquet-thrift/UUIDType.js +5 -1
- package/dist/parquetjs/parquet-thrift/index.js +5 -1
- package/dist/parquetjs/schema/shred.js +5 -1
- package/dist/parquetjs/utils/file-utils.d.ts +2 -0
- package/dist/parquetjs/utils/file-utils.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -1,28 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.ParquetCursor = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
-
|
|
20
13
|
var _shred = require("../schema/shred");
|
|
21
|
-
|
|
22
14
|
var _Symbol$asyncIterator;
|
|
23
|
-
|
|
24
15
|
_Symbol$asyncIterator = Symbol.asyncIterator;
|
|
25
|
-
|
|
26
16
|
var ParquetCursor = function () {
|
|
27
17
|
function ParquetCursor(metadata, envelopeReader, schema, columnList) {
|
|
28
18
|
(0, _classCallCheck2.default)(this, ParquetCursor);
|
|
@@ -52,26 +42,20 @@ var ParquetCursor = function () {
|
|
|
52
42
|
_context.next = 8;
|
|
53
43
|
break;
|
|
54
44
|
}
|
|
55
|
-
|
|
56
45
|
if (!(this.rowGroupIndex >= this.metadata.row_groups.length)) {
|
|
57
46
|
_context.next = 3;
|
|
58
47
|
break;
|
|
59
48
|
}
|
|
60
|
-
|
|
61
49
|
return _context.abrupt("return", null);
|
|
62
|
-
|
|
63
50
|
case 3:
|
|
64
51
|
_context.next = 5;
|
|
65
52
|
return this.envelopeReader.readRowGroup(this.schema, this.metadata.row_groups[this.rowGroupIndex], this.columnList);
|
|
66
|
-
|
|
67
53
|
case 5:
|
|
68
54
|
rowBuffer = _context.sent;
|
|
69
55
|
this.rowGroup = (0, _shred.materializeRecords)(this.schema, rowBuffer);
|
|
70
56
|
this.rowGroupIndex++;
|
|
71
|
-
|
|
72
57
|
case 8:
|
|
73
58
|
return _context.abrupt("return", this.rowGroup.shift());
|
|
74
|
-
|
|
75
59
|
case 9:
|
|
76
60
|
case "end":
|
|
77
61
|
return _context.stop();
|
|
@@ -79,24 +63,24 @@ var ParquetCursor = function () {
|
|
|
79
63
|
}
|
|
80
64
|
}, _callee, this);
|
|
81
65
|
}));
|
|
82
|
-
|
|
83
66
|
function next() {
|
|
84
67
|
return _next.apply(this, arguments);
|
|
85
68
|
}
|
|
86
|
-
|
|
87
69
|
return next;
|
|
88
70
|
}()
|
|
89
71
|
}, {
|
|
90
72
|
key: "rewind",
|
|
91
|
-
value:
|
|
73
|
+
value:
|
|
74
|
+
function rewind() {
|
|
92
75
|
this.rowGroup = [];
|
|
93
76
|
this.rowGroupIndex = 0;
|
|
94
77
|
}
|
|
78
|
+
|
|
95
79
|
}, {
|
|
96
80
|
key: _Symbol$asyncIterator,
|
|
97
|
-
value:
|
|
81
|
+
value:
|
|
82
|
+
function value() {
|
|
98
83
|
var _this = this;
|
|
99
|
-
|
|
100
84
|
var done = false;
|
|
101
85
|
return {
|
|
102
86
|
next: function () {
|
|
@@ -110,35 +94,28 @@ var ParquetCursor = function () {
|
|
|
110
94
|
_context2.next = 2;
|
|
111
95
|
break;
|
|
112
96
|
}
|
|
113
|
-
|
|
114
97
|
return _context2.abrupt("return", {
|
|
115
98
|
done: done,
|
|
116
99
|
value: null
|
|
117
100
|
});
|
|
118
|
-
|
|
119
101
|
case 2:
|
|
120
102
|
_context2.next = 4;
|
|
121
103
|
return _this.next();
|
|
122
|
-
|
|
123
104
|
case 4:
|
|
124
105
|
value = _context2.sent;
|
|
125
|
-
|
|
126
106
|
if (!(value === null)) {
|
|
127
107
|
_context2.next = 7;
|
|
128
108
|
break;
|
|
129
109
|
}
|
|
130
|
-
|
|
131
110
|
return _context2.abrupt("return", {
|
|
132
111
|
done: true,
|
|
133
112
|
value: value
|
|
134
113
|
});
|
|
135
|
-
|
|
136
114
|
case 7:
|
|
137
115
|
return _context2.abrupt("return", {
|
|
138
116
|
done: false,
|
|
139
117
|
value: value
|
|
140
118
|
});
|
|
141
|
-
|
|
142
119
|
case 8:
|
|
143
120
|
case "end":
|
|
144
121
|
return _context2.stop();
|
|
@@ -146,11 +123,9 @@ var ParquetCursor = function () {
|
|
|
146
123
|
}
|
|
147
124
|
}, _callee2);
|
|
148
125
|
}));
|
|
149
|
-
|
|
150
126
|
function next() {
|
|
151
127
|
return _next2.apply(this, arguments);
|
|
152
128
|
}
|
|
153
|
-
|
|
154
129
|
return next;
|
|
155
130
|
}(),
|
|
156
131
|
return: function () {
|
|
@@ -164,7 +139,6 @@ var ParquetCursor = function () {
|
|
|
164
139
|
done: done,
|
|
165
140
|
value: null
|
|
166
141
|
});
|
|
167
|
-
|
|
168
142
|
case 2:
|
|
169
143
|
case "end":
|
|
170
144
|
return _context3.stop();
|
|
@@ -172,11 +146,9 @@ var ParquetCursor = function () {
|
|
|
172
146
|
}
|
|
173
147
|
}, _callee3);
|
|
174
148
|
}));
|
|
175
|
-
|
|
176
149
|
function _return() {
|
|
177
150
|
return _return2.apply(this, arguments);
|
|
178
151
|
}
|
|
179
|
-
|
|
180
152
|
return _return;
|
|
181
153
|
}(),
|
|
182
154
|
throw: function () {
|
|
@@ -190,7 +162,6 @@ var ParquetCursor = function () {
|
|
|
190
162
|
done: true,
|
|
191
163
|
value: null
|
|
192
164
|
});
|
|
193
|
-
|
|
194
165
|
case 2:
|
|
195
166
|
case "end":
|
|
196
167
|
return _context4.stop();
|
|
@@ -198,11 +169,9 @@ var ParquetCursor = function () {
|
|
|
198
169
|
}
|
|
199
170
|
}, _callee4);
|
|
200
171
|
}));
|
|
201
|
-
|
|
202
172
|
function _throw() {
|
|
203
173
|
return _throw2.apply(this, arguments);
|
|
204
174
|
}
|
|
205
|
-
|
|
206
175
|
return _throw;
|
|
207
176
|
}()
|
|
208
177
|
};
|
|
@@ -210,6 +179,5 @@ var ParquetCursor = function () {
|
|
|
210
179
|
}]);
|
|
211
180
|
return ParquetCursor;
|
|
212
181
|
}();
|
|
213
|
-
|
|
214
182
|
exports.ParquetCursor = ParquetCursor;
|
|
215
183
|
//# sourceMappingURL=parquet-cursor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"parquet-cursor.js","names":["Symbol","asyncIterator","ParquetCursor","metadata","envelopeReader","schema","columnList","rowGroupIndex","rowGroup","length","row_groups","readRowGroup","rowBuffer","materializeRecords","shift","done","next","value","return","throw"],"sources":["../../../../src/parquetjs/parser/parquet-cursor.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport {FileMetaData} from '../parquet-thrift';\nimport {ParquetEnvelopeReader} from './parquet-envelope-reader';\nimport {ParquetSchema} from '../schema/schema';\nimport {ParquetRecord} from '../schema/declare';\nimport {materializeRecords} from '../schema/shred';\n\n/**\n * A parquet cursor is used to retrieve rows from a parquet file in order\n */\nexport class ParquetCursor<T> implements AsyncIterable<T> {\n public metadata: FileMetaData;\n public envelopeReader: ParquetEnvelopeReader;\n public schema: ParquetSchema;\n public columnList: string[][];\n public rowGroup: ParquetRecord[] = [];\n public rowGroupIndex: number;\n\n /**\n * Create a new parquet reader from the file metadata and an envelope reader.\n * It is usually not recommended to call this constructor directly except for\n * advanced and internal use cases. Consider using getCursor() on the\n * ParquetReader instead\n */\n constructor(\n metadata: FileMetaData,\n envelopeReader: ParquetEnvelopeReader,\n schema: ParquetSchema,\n columnList: string[][]\n ) {\n this.metadata = metadata;\n this.envelopeReader = envelopeReader;\n this.schema = schema;\n this.columnList = columnList;\n this.rowGroupIndex = 0;\n }\n\n /**\n * Retrieve the next row from the cursor. Returns a row or NULL if the end\n * of the file was reached\n */\n async next<T = any>(): Promise<T> {\n if (this.rowGroup.length === 0) {\n if (this.rowGroupIndex >= this.metadata.row_groups.length) {\n // @ts-ignore\n return null;\n }\n const rowBuffer = await this.envelopeReader.readRowGroup(\n this.schema,\n this.metadata.row_groups[this.rowGroupIndex],\n this.columnList\n );\n this.rowGroup = materializeRecords(this.schema, rowBuffer);\n this.rowGroupIndex++;\n }\n return this.rowGroup.shift() as any;\n }\n\n /**\n * Rewind the cursor the the beginning of the file\n */\n rewind(): void {\n this.rowGroup = [];\n this.rowGroupIndex = 0;\n }\n\n /**\n * Implement AsyncIterable\n */\n // tslint:disable-next-line:function-name\n [Symbol.asyncIterator](): AsyncIterator<T> {\n let done = false;\n return {\n next: async () => {\n if (done) {\n return {done, value: null};\n }\n const value = await this.next();\n if (value === null) {\n return {done: true, value};\n }\n return {done: false, value};\n },\n return: async () => {\n done = true;\n return {done, value: null};\n },\n throw: async () => {\n done = true;\n return {done: true, value: null};\n }\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;AAKA;AAAmD;AAAA,wBAiEhDA,MAAM,CAACC,aAAa;AAAA,IA5DVC,aAAa;EAcxB,uBACEC,QAAsB,EACtBC,cAAqC,EACrCC,MAAqB,EACrBC,UAAsB,EACtB;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,gDAdiC,EAAE;IAAA;IAenC,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,aAAa,GAAG,CAAC;EACxB;;EAAC;IAAA;IAAA;MAAA,sEAMD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,MACM,IAAI,CAACC,QAAQ,CAACC,MAAM,KAAK,CAAC;kBAAA;kBAAA;gBAAA;gBAAA,MACxB,IAAI,CAACF,aAAa,IAAI,IAAI,CAACJ,QAAQ,CAACO,UAAU,CAACD,MAAM;kBAAA;kBAAA;gBAAA;gBAAA,iCAEhD,IAAI;cAAA;gBAAA;gBAAA,OAEW,IAAI,CAACL,cAAc,CAACO,YAAY,CACtD,IAAI,CAACN,MAAM,EACX,IAAI,CAACF,QAAQ,CAACO,UAAU,CAAC,IAAI,CAACH,aAAa,CAAC,EAC5C,IAAI,CAACD,UAAU,CAChB;cAAA;gBAJKM,SAAS;gBAKf,IAAI,CAACJ,QAAQ,GAAG,IAAAK,yBAAkB,EAAC,IAAI,CAACR,MAAM,EAAEO,SAAS,CAAC;gBAC1D,IAAI,CAACL,aAAa,EAAE;cAAC;gBAAA,iCAEhB,IAAI,CAACC,QAAQ,CAACM,KAAK,EAAE;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC7B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;IAKD,kBAAe;MACb,IAAI,CAACN,QAAQ,GAAG,EAAE;MAClB,IAAI,CAACD,aAAa,GAAG,CAAC;IACxB;;EAAC;IAAA;IAAA;IAMD,iBAA2C;MAAA;MACzC,IAAIQ,IAAI,GAAG,KAAK;MAChB,OAAO;QACLC,IAAI;UAAA,uEAAE;YAAA;YAAA;cAAA;gBAAA;kBAAA;oBAAA,KACAD,IAAI;sBAAA;sBAAA;oBAAA;oBAAA,kCACC;sBAACA,IAAI,EAAJA,IAAI;sBAAEE,KAAK,EAAE;oBAAI,CAAC;kBAAA;oBAAA;oBAAA,OAER,KAAI,CAACD,IAAI,EAAE;kBAAA;oBAAzBC,KAAK;oBAAA,MACPA,KAAK,KAAK,IAAI;sBAAA;sBAAA;oBAAA;oBAAA,kCACT;sBAACF,IAAI,EAAE,IAAI;sBAAEE,KAAK,EAALA;oBAAK,CAAC;kBAAA;oBAAA,kCAErB;sBAACF,IAAI,EAAE,KAAK;sBAAEE,KAAK,EAALA;oBAAK,CAAC;kBAAA;kBAAA;oBAAA;gBAAA;cAAA;YAAA;UAAA,CAC5B;UAAA;YAAA;UAAA;UAAA;QAAA;QACDC,MAAM;UAAA,yEAAE;YAAA;cAAA;gBAAA;kBAAA;oBACNH,IAAI,GAAG,IAAI;oBAAC,kCACL;sBAACA,IAAI,EAAJA,IAAI;sBAAEE,KAAK,EAAE;oBAAI,CAAC;kBAAA;kBAAA;oBAAA;gBAAA;cAAA;YAAA;UAAA,CAC3B;UAAA;YAAA;UAAA;UAAA;QAAA;QACDE,KAAK;UAAA,wEAAE;YAAA;cAAA;gBAAA;kBAAA;oBACLJ,IAAI,GAAG,IAAI;oBAAC,kCACL;sBAACA,IAAI,EAAE,IAAI;sBAAEE,KAAK,EAAE;oBAAI,CAAC;kBAAA;kBAAA;oBAAA;gBAAA;cAAA;YAAA;UAAA,CACjC;UAAA;YAAA;UAAA;UAAA;QAAA;MACH,CAAC;IACH;EAAC;EAAA;AAAA;AAAA"}
|
|
@@ -1,40 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.ParquetEnvelopeReader = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
-
|
|
20
13
|
var _constants = require("../../constants");
|
|
21
|
-
|
|
22
14
|
var _parquetThrift = require("../parquet-thrift");
|
|
23
|
-
|
|
24
15
|
var _readUtils = require("../utils/read-utils");
|
|
25
|
-
|
|
26
16
|
var _decoders = require("./decoders");
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
31
|
-
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
32
19
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
33
|
-
|
|
34
20
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
35
|
-
|
|
36
21
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
37
|
-
|
|
38
22
|
var DEFAULT_DICTIONARY_SIZE = 1e6;
|
|
39
23
|
|
|
40
24
|
var ParquetEnvelopeReader = function () {
|
|
@@ -49,7 +33,6 @@ var ParquetEnvelopeReader = function () {
|
|
|
49
33
|
this.fileSize = fileSize;
|
|
50
34
|
this.defaultDictionarySize = (options === null || options === void 0 ? void 0 : options.defaultDictionarySize) || DEFAULT_DICTIONARY_SIZE;
|
|
51
35
|
}
|
|
52
|
-
|
|
53
36
|
(0, _createClass2.default)(ParquetEnvelopeReader, [{
|
|
54
37
|
key: "readHeader",
|
|
55
38
|
value: function () {
|
|
@@ -61,23 +44,18 @@ var ParquetEnvelopeReader = function () {
|
|
|
61
44
|
case 0:
|
|
62
45
|
_context.next = 2;
|
|
63
46
|
return this.read(0, _constants.PARQUET_MAGIC.length);
|
|
64
|
-
|
|
65
47
|
case 2:
|
|
66
48
|
buffer = _context.sent;
|
|
67
49
|
magic = buffer.toString();
|
|
68
50
|
_context.t0 = magic;
|
|
69
51
|
_context.next = _context.t0 === _constants.PARQUET_MAGIC ? 7 : _context.t0 === _constants.PARQUET_MAGIC_ENCRYPTED ? 8 : 9;
|
|
70
52
|
break;
|
|
71
|
-
|
|
72
53
|
case 7:
|
|
73
54
|
return _context.abrupt("break", 10);
|
|
74
|
-
|
|
75
55
|
case 8:
|
|
76
56
|
throw new Error('Encrypted parquet file not supported');
|
|
77
|
-
|
|
78
57
|
case 9:
|
|
79
58
|
throw new Error("Invalid parquet file (magic=".concat(magic, ")"));
|
|
80
|
-
|
|
81
59
|
case 10:
|
|
82
60
|
case "end":
|
|
83
61
|
return _context.stop();
|
|
@@ -85,11 +63,9 @@ var ParquetEnvelopeReader = function () {
|
|
|
85
63
|
}
|
|
86
64
|
}, _callee, this);
|
|
87
65
|
}));
|
|
88
|
-
|
|
89
66
|
function readHeader() {
|
|
90
67
|
return _readHeader.apply(this, arguments);
|
|
91
68
|
}
|
|
92
|
-
|
|
93
69
|
return readHeader;
|
|
94
70
|
}()
|
|
95
71
|
}, {
|
|
@@ -97,7 +73,6 @@ var ParquetEnvelopeReader = function () {
|
|
|
97
73
|
value: function () {
|
|
98
74
|
var _readRowGroup = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(schema, rowGroup, columnList) {
|
|
99
75
|
var buffer, _iterator, _step, colChunk, colMetadata, colKey;
|
|
100
|
-
|
|
101
76
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
102
77
|
while (1) {
|
|
103
78
|
switch (_context2.prev = _context2.next) {
|
|
@@ -108,57 +83,41 @@ var ParquetEnvelopeReader = function () {
|
|
|
108
83
|
};
|
|
109
84
|
_iterator = _createForOfIteratorHelper(rowGroup.columns);
|
|
110
85
|
_context2.prev = 2;
|
|
111
|
-
|
|
112
86
|
_iterator.s();
|
|
113
|
-
|
|
114
87
|
case 4:
|
|
115
88
|
if ((_step = _iterator.n()).done) {
|
|
116
89
|
_context2.next = 15;
|
|
117
90
|
break;
|
|
118
91
|
}
|
|
119
|
-
|
|
120
92
|
colChunk = _step.value;
|
|
121
93
|
colMetadata = colChunk.meta_data;
|
|
122
94
|
colKey = colMetadata === null || colMetadata === void 0 ? void 0 : colMetadata.path_in_schema;
|
|
123
|
-
|
|
124
95
|
if (!(columnList.length > 0 && (0, _readUtils.fieldIndexOf)(columnList, colKey) < 0)) {
|
|
125
96
|
_context2.next = 10;
|
|
126
97
|
break;
|
|
127
98
|
}
|
|
128
|
-
|
|
129
99
|
return _context2.abrupt("continue", 13);
|
|
130
|
-
|
|
131
100
|
case 10:
|
|
132
101
|
_context2.next = 12;
|
|
133
102
|
return this.readColumnChunk(schema, colChunk);
|
|
134
|
-
|
|
135
103
|
case 12:
|
|
136
104
|
buffer.columnData[colKey.join()] = _context2.sent;
|
|
137
|
-
|
|
138
105
|
case 13:
|
|
139
106
|
_context2.next = 4;
|
|
140
107
|
break;
|
|
141
|
-
|
|
142
108
|
case 15:
|
|
143
109
|
_context2.next = 20;
|
|
144
110
|
break;
|
|
145
|
-
|
|
146
111
|
case 17:
|
|
147
112
|
_context2.prev = 17;
|
|
148
113
|
_context2.t0 = _context2["catch"](2);
|
|
149
|
-
|
|
150
114
|
_iterator.e(_context2.t0);
|
|
151
|
-
|
|
152
115
|
case 20:
|
|
153
116
|
_context2.prev = 20;
|
|
154
|
-
|
|
155
117
|
_iterator.f();
|
|
156
|
-
|
|
157
118
|
return _context2.finish(20);
|
|
158
|
-
|
|
159
119
|
case 23:
|
|
160
120
|
return _context2.abrupt("return", buffer);
|
|
161
|
-
|
|
162
121
|
case 24:
|
|
163
122
|
case "end":
|
|
164
123
|
return _context2.stop();
|
|
@@ -166,11 +125,9 @@ var ParquetEnvelopeReader = function () {
|
|
|
166
125
|
}
|
|
167
126
|
}, _callee2, this, [[2, 17, 20, 23]]);
|
|
168
127
|
}));
|
|
169
|
-
|
|
170
128
|
function readRowGroup(_x, _x2, _x3) {
|
|
171
129
|
return _readRowGroup.apply(this, arguments);
|
|
172
130
|
}
|
|
173
|
-
|
|
174
131
|
return readRowGroup;
|
|
175
132
|
}()
|
|
176
133
|
}, {
|
|
@@ -178,9 +135,7 @@ var ParquetEnvelopeReader = function () {
|
|
|
178
135
|
value: function () {
|
|
179
136
|
var _readColumnChunk = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(schema, colChunk) {
|
|
180
137
|
var _colChunk$meta_data, _colChunk$meta_data2, _colChunk$meta_data3, _colChunk$meta_data4, _colChunk$meta_data5, _colChunk$meta_data7, _colChunk$meta_data8, _options$dictionary;
|
|
181
|
-
|
|
182
138
|
var field, type, compression, pagesOffset, pagesSize, _colChunk$meta_data6, options, dictionary, dictionaryPageOffset, dictionaryOffset, pagesBuf;
|
|
183
|
-
|
|
184
139
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
185
140
|
while (1) {
|
|
186
141
|
switch (_context3.prev = _context3.next) {
|
|
@@ -189,29 +144,22 @@ var ParquetEnvelopeReader = function () {
|
|
|
189
144
|
_context3.next = 2;
|
|
190
145
|
break;
|
|
191
146
|
}
|
|
192
|
-
|
|
193
147
|
throw new Error('external references are not supported');
|
|
194
|
-
|
|
195
148
|
case 2:
|
|
196
149
|
field = schema.findField((_colChunk$meta_data = colChunk.meta_data) === null || _colChunk$meta_data === void 0 ? void 0 : _colChunk$meta_data.path_in_schema);
|
|
197
150
|
type = (0, _readUtils.getThriftEnum)(_parquetThrift.Type, (_colChunk$meta_data2 = colChunk.meta_data) === null || _colChunk$meta_data2 === void 0 ? void 0 : _colChunk$meta_data2.type);
|
|
198
|
-
|
|
199
151
|
if (!(type !== field.primitiveType)) {
|
|
200
152
|
_context3.next = 6;
|
|
201
153
|
break;
|
|
202
154
|
}
|
|
203
|
-
|
|
204
155
|
throw new Error("chunk type not matching schema: ".concat(type));
|
|
205
|
-
|
|
206
156
|
case 6:
|
|
207
157
|
compression = (0, _readUtils.getThriftEnum)(_parquetThrift.CompressionCodec, (_colChunk$meta_data3 = colChunk.meta_data) === null || _colChunk$meta_data3 === void 0 ? void 0 : _colChunk$meta_data3.codec);
|
|
208
158
|
pagesOffset = Number((_colChunk$meta_data4 = colChunk.meta_data) === null || _colChunk$meta_data4 === void 0 ? void 0 : _colChunk$meta_data4.data_page_offset);
|
|
209
159
|
pagesSize = Number((_colChunk$meta_data5 = colChunk.meta_data) === null || _colChunk$meta_data5 === void 0 ? void 0 : _colChunk$meta_data5.total_compressed_size);
|
|
210
|
-
|
|
211
160
|
if (!colChunk.file_path) {
|
|
212
161
|
pagesSize = Math.min(this.fileSize - pagesOffset, Number((_colChunk$meta_data6 = colChunk.meta_data) === null || _colChunk$meta_data6 === void 0 ? void 0 : _colChunk$meta_data6.total_compressed_size));
|
|
213
162
|
}
|
|
214
|
-
|
|
215
163
|
options = {
|
|
216
164
|
type: type,
|
|
217
165
|
rLevelMax: field.rLevelMax,
|
|
@@ -222,34 +170,27 @@ var ParquetEnvelopeReader = function () {
|
|
|
222
170
|
dictionary: []
|
|
223
171
|
};
|
|
224
172
|
dictionaryPageOffset = colChunk === null || colChunk === void 0 ? void 0 : (_colChunk$meta_data8 = colChunk.meta_data) === null || _colChunk$meta_data8 === void 0 ? void 0 : _colChunk$meta_data8.dictionary_page_offset;
|
|
225
|
-
|
|
226
173
|
if (!dictionaryPageOffset) {
|
|
227
174
|
_context3.next = 17;
|
|
228
175
|
break;
|
|
229
176
|
}
|
|
230
|
-
|
|
231
177
|
dictionaryOffset = Number(dictionaryPageOffset);
|
|
232
178
|
_context3.next = 16;
|
|
233
179
|
return this.getDictionary(dictionaryOffset, options, pagesOffset);
|
|
234
|
-
|
|
235
180
|
case 16:
|
|
236
181
|
dictionary = _context3.sent;
|
|
237
|
-
|
|
238
182
|
case 17:
|
|
239
183
|
dictionary = (_options$dictionary = options.dictionary) !== null && _options$dictionary !== void 0 && _options$dictionary.length ? options.dictionary : dictionary;
|
|
240
184
|
_context3.next = 20;
|
|
241
185
|
return this.read(pagesOffset, pagesSize);
|
|
242
|
-
|
|
243
186
|
case 20:
|
|
244
187
|
pagesBuf = _context3.sent;
|
|
245
188
|
_context3.next = 23;
|
|
246
189
|
return (0, _decoders.decodeDataPages)(pagesBuf, _objectSpread(_objectSpread({}, options), {}, {
|
|
247
190
|
dictionary: dictionary
|
|
248
191
|
}));
|
|
249
|
-
|
|
250
192
|
case 23:
|
|
251
193
|
return _context3.abrupt("return", _context3.sent);
|
|
252
|
-
|
|
253
194
|
case 24:
|
|
254
195
|
case "end":
|
|
255
196
|
return _context3.stop();
|
|
@@ -257,11 +198,9 @@ var ParquetEnvelopeReader = function () {
|
|
|
257
198
|
}
|
|
258
199
|
}, _callee3, this);
|
|
259
200
|
}));
|
|
260
|
-
|
|
261
201
|
function readColumnChunk(_x4, _x5) {
|
|
262
202
|
return _readColumnChunk.apply(this, arguments);
|
|
263
203
|
}
|
|
264
|
-
|
|
265
204
|
return readColumnChunk;
|
|
266
205
|
}()
|
|
267
206
|
}, {
|
|
@@ -277,14 +216,11 @@ var ParquetEnvelopeReader = function () {
|
|
|
277
216
|
_context4.next = 2;
|
|
278
217
|
break;
|
|
279
218
|
}
|
|
280
|
-
|
|
281
219
|
return _context4.abrupt("return", []);
|
|
282
|
-
|
|
283
220
|
case 2:
|
|
284
221
|
dictionarySize = Math.min(this.fileSize - dictionaryPageOffset, this.defaultDictionarySize);
|
|
285
222
|
_context4.next = 5;
|
|
286
223
|
return this.read(dictionaryPageOffset, dictionarySize);
|
|
287
|
-
|
|
288
224
|
case 5:
|
|
289
225
|
pagesBuf = _context4.sent;
|
|
290
226
|
cursor = {
|
|
@@ -294,11 +230,9 @@ var ParquetEnvelopeReader = function () {
|
|
|
294
230
|
};
|
|
295
231
|
_context4.next = 9;
|
|
296
232
|
return (0, _decoders.decodePage)(cursor, options);
|
|
297
|
-
|
|
298
233
|
case 9:
|
|
299
234
|
decodedPage = _context4.sent;
|
|
300
235
|
return _context4.abrupt("return", decodedPage.dictionary);
|
|
301
|
-
|
|
302
236
|
case 11:
|
|
303
237
|
case "end":
|
|
304
238
|
return _context4.stop();
|
|
@@ -306,11 +240,9 @@ var ParquetEnvelopeReader = function () {
|
|
|
306
240
|
}
|
|
307
241
|
}, _callee4, this);
|
|
308
242
|
}));
|
|
309
|
-
|
|
310
243
|
function getDictionary(_x6, _x7, _x8) {
|
|
311
244
|
return _getDictionary.apply(this, arguments);
|
|
312
245
|
}
|
|
313
|
-
|
|
314
246
|
return getDictionary;
|
|
315
247
|
}()
|
|
316
248
|
}, {
|
|
@@ -318,7 +250,6 @@ var ParquetEnvelopeReader = function () {
|
|
|
318
250
|
value: function () {
|
|
319
251
|
var _readFooter = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5() {
|
|
320
252
|
var trailerLen, trailerBuf, magic, metadataSize, metadataOffset, metadataBuf, _decodeFileMetadata, metadata;
|
|
321
|
-
|
|
322
253
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
323
254
|
while (1) {
|
|
324
255
|
switch (_context5.prev = _context5.next) {
|
|
@@ -326,38 +257,29 @@ var ParquetEnvelopeReader = function () {
|
|
|
326
257
|
trailerLen = _constants.PARQUET_MAGIC.length + 4;
|
|
327
258
|
_context5.next = 3;
|
|
328
259
|
return this.read(this.fileSize - trailerLen, trailerLen);
|
|
329
|
-
|
|
330
260
|
case 3:
|
|
331
261
|
trailerBuf = _context5.sent;
|
|
332
262
|
magic = trailerBuf.slice(4).toString();
|
|
333
|
-
|
|
334
263
|
if (!(magic !== _constants.PARQUET_MAGIC)) {
|
|
335
264
|
_context5.next = 7;
|
|
336
265
|
break;
|
|
337
266
|
}
|
|
338
|
-
|
|
339
267
|
throw new Error("Not a valid parquet file (magic=\"".concat(magic, ")"));
|
|
340
|
-
|
|
341
268
|
case 7:
|
|
342
269
|
metadataSize = trailerBuf.readUInt32LE(0);
|
|
343
270
|
metadataOffset = this.fileSize - metadataSize - trailerLen;
|
|
344
|
-
|
|
345
271
|
if (!(metadataOffset < _constants.PARQUET_MAGIC.length)) {
|
|
346
272
|
_context5.next = 11;
|
|
347
273
|
break;
|
|
348
274
|
}
|
|
349
|
-
|
|
350
275
|
throw new Error("Invalid metadata size ".concat(metadataOffset));
|
|
351
|
-
|
|
352
276
|
case 11:
|
|
353
277
|
_context5.next = 13;
|
|
354
278
|
return this.read(metadataOffset, metadataSize);
|
|
355
|
-
|
|
356
279
|
case 13:
|
|
357
280
|
metadataBuf = _context5.sent;
|
|
358
281
|
_decodeFileMetadata = (0, _readUtils.decodeFileMetadata)(metadataBuf), metadata = _decodeFileMetadata.metadata;
|
|
359
282
|
return _context5.abrupt("return", metadata);
|
|
360
|
-
|
|
361
283
|
case 16:
|
|
362
284
|
case "end":
|
|
363
285
|
return _context5.stop();
|
|
@@ -365,11 +287,9 @@ var ParquetEnvelopeReader = function () {
|
|
|
365
287
|
}
|
|
366
288
|
}, _callee5, this);
|
|
367
289
|
}));
|
|
368
|
-
|
|
369
290
|
function readFooter() {
|
|
370
291
|
return _readFooter.apply(this, arguments);
|
|
371
292
|
}
|
|
372
|
-
|
|
373
293
|
return readFooter;
|
|
374
294
|
}()
|
|
375
295
|
}], [{
|
|
@@ -384,13 +304,10 @@ var ParquetEnvelopeReader = function () {
|
|
|
384
304
|
readFn = function readFn(position, length) {
|
|
385
305
|
return Promise.resolve(buffer.slice(position, position + length));
|
|
386
306
|
};
|
|
387
|
-
|
|
388
307
|
closeFn = function closeFn() {
|
|
389
308
|
return Promise.resolve();
|
|
390
309
|
};
|
|
391
|
-
|
|
392
310
|
return _context6.abrupt("return", new ParquetEnvelopeReader(readFn, closeFn, buffer.length));
|
|
393
|
-
|
|
394
311
|
case 3:
|
|
395
312
|
case "end":
|
|
396
313
|
return _context6.stop();
|
|
@@ -398,16 +315,13 @@ var ParquetEnvelopeReader = function () {
|
|
|
398
315
|
}
|
|
399
316
|
}, _callee6);
|
|
400
317
|
}));
|
|
401
|
-
|
|
402
318
|
function openBuffer(_x9) {
|
|
403
319
|
return _openBuffer.apply(this, arguments);
|
|
404
320
|
}
|
|
405
|
-
|
|
406
321
|
return openBuffer;
|
|
407
322
|
}()
|
|
408
323
|
}]);
|
|
409
324
|
return ParquetEnvelopeReader;
|
|
410
325
|
}();
|
|
411
|
-
|
|
412
326
|
exports.ParquetEnvelopeReader = ParquetEnvelopeReader;
|
|
413
327
|
//# sourceMappingURL=parquet-envelope-reader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/parquetjs/parser/parquet-envelope-reader.ts"],"names":["DEFAULT_DICTIONARY_SIZE","ParquetEnvelopeReader","read","close","fileSize","options","defaultDictionarySize","PARQUET_MAGIC","length","buffer","magic","toString","PARQUET_MAGIC_ENCRYPTED","Error","schema","rowGroup","columnList","rowCount","Number","num_rows","columnData","columns","colChunk","colMetadata","meta_data","colKey","path_in_schema","readColumnChunk","join","file_path","undefined","field","findField","type","Type","primitiveType","compression","CompressionCodec","codec","pagesOffset","data_page_offset","pagesSize","total_compressed_size","Math","min","rLevelMax","dLevelMax","column","numValues","num_values","dictionary","dictionaryPageOffset","dictionary_page_offset","dictionaryOffset","getDictionary","pagesBuf","dictionarySize","cursor","offset","size","decodedPage","trailerLen","trailerBuf","slice","metadataSize","readUInt32LE","metadataOffset","metadataBuf","metadata","readFn","position","Promise","resolve","closeFn"],"mappings":"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","sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport {ParquetSchema} from '../schema/schema';\nimport {PARQUET_MAGIC, PARQUET_MAGIC_ENCRYPTED} from '../../constants';\nimport {ColumnChunk, CompressionCodec, FileMetaData, RowGroup, Type} from '../parquet-thrift';\nimport {\n ParquetBuffer,\n ParquetCompression,\n ParquetData,\n PrimitiveType,\n ParquetOptions\n} from '../schema/declare';\nimport {decodeFileMetadata, getThriftEnum, fieldIndexOf} from '../utils/read-utils';\nimport {decodeDataPages, decodePage} from './decoders';\n\nconst DEFAULT_DICTIONARY_SIZE = 1e6;\n\n/**\n * The parquet envelope reader allows direct, unbuffered access to the individual\n * sections of the parquet file, namely the header, footer and the row groups.\n * This class is intended for advanced/internal users; if you just want to retrieve\n * rows from a parquet file use the ParquetReader instead\n */\nexport class ParquetEnvelopeReader {\n public read: (position: number, length: number) => Promise<Buffer>;\n /**\n * Close this parquet reader. You MUST call this method once you're finished\n * reading rows\n */\n public close: () => Promise<void>;\n public fileSize: number;\n public defaultDictionarySize: number;\n\n static async openBuffer(buffer: Buffer): Promise<ParquetEnvelopeReader> {\n const readFn = (position: number, length: number) =>\n Promise.resolve(buffer.slice(position, position + length));\n const closeFn = () => Promise.resolve();\n return new ParquetEnvelopeReader(readFn, closeFn, buffer.length);\n }\n\n constructor(\n read: (position: number, length: number) => Promise<Buffer>,\n close: () => Promise<void>,\n fileSize: number,\n options?: any\n ) {\n this.read = read;\n this.close = close;\n this.fileSize = fileSize;\n this.defaultDictionarySize = options?.defaultDictionarySize || DEFAULT_DICTIONARY_SIZE;\n }\n\n async readHeader(): Promise<void> {\n const buffer = await this.read(0, PARQUET_MAGIC.length);\n\n const magic = buffer.toString();\n switch (magic) {\n case PARQUET_MAGIC:\n break;\n case PARQUET_MAGIC_ENCRYPTED:\n throw new Error('Encrypted parquet file not supported');\n default:\n throw new Error(`Invalid parquet file (magic=${magic})`);\n }\n }\n\n async readRowGroup(\n schema: ParquetSchema,\n rowGroup: RowGroup,\n columnList: string[][]\n ): Promise<ParquetBuffer> {\n const buffer: ParquetBuffer = {\n rowCount: Number(rowGroup.num_rows),\n columnData: {}\n };\n for (const colChunk of rowGroup.columns) {\n const colMetadata = colChunk.meta_data;\n const colKey = colMetadata?.path_in_schema;\n if (columnList.length > 0 && fieldIndexOf(columnList, colKey!) < 0) {\n continue; // eslint-disable-line no-continue\n }\n buffer.columnData[colKey!.join()] = await this.readColumnChunk(schema, colChunk);\n }\n return buffer;\n }\n\n /**\n * Do reading of parquet file's column chunk\n * @param schema\n * @param colChunk\n */\n async readColumnChunk(schema: ParquetSchema, colChunk: ColumnChunk): Promise<ParquetData> {\n if (colChunk.file_path !== undefined && colChunk.file_path !== null) {\n throw new Error('external references are not supported');\n }\n\n const field = schema.findField(colChunk.meta_data?.path_in_schema!);\n const type: PrimitiveType = getThriftEnum(Type, colChunk.meta_data?.type!) as any;\n\n if (type !== field.primitiveType) {\n throw new Error(`chunk type not matching schema: ${type}`);\n }\n\n const compression: ParquetCompression = getThriftEnum(\n CompressionCodec,\n colChunk.meta_data?.codec!\n ) as any;\n\n const pagesOffset = Number(colChunk.meta_data?.data_page_offset!);\n let pagesSize = Number(colChunk.meta_data?.total_compressed_size!);\n\n if (!colChunk.file_path) {\n pagesSize = Math.min(\n this.fileSize - pagesOffset,\n Number(colChunk.meta_data?.total_compressed_size)\n );\n }\n\n const options: ParquetOptions = {\n type,\n rLevelMax: field.rLevelMax,\n dLevelMax: field.dLevelMax,\n compression,\n column: field,\n numValues: colChunk.meta_data?.num_values,\n dictionary: []\n };\n\n let dictionary;\n\n const dictionaryPageOffset = colChunk?.meta_data?.dictionary_page_offset;\n\n if (dictionaryPageOffset) {\n const dictionaryOffset = Number(dictionaryPageOffset);\n // Getting dictionary from column chunk to iterate all over indexes to get dataPage values.\n dictionary = await this.getDictionary(dictionaryOffset, options, pagesOffset);\n }\n\n dictionary = options.dictionary?.length ? options.dictionary : dictionary;\n const pagesBuf = await this.read(pagesOffset, pagesSize);\n return await decodeDataPages(pagesBuf, {...options, dictionary});\n }\n\n /**\n * Getting dictionary for allows to flatten values by indices.\n * @param dictionaryPageOffset\n * @param options\n * @param pagesOffset\n * @returns\n */\n async getDictionary(\n dictionaryPageOffset: number,\n options: ParquetOptions,\n pagesOffset: number\n ): Promise<string[]> {\n if (dictionaryPageOffset === 0) {\n // dictionarySize = Math.min(this.fileSize - pagesOffset, this.defaultDictionarySize);\n // pagesBuf = await this.read(pagesOffset, dictionarySize);\n\n // In this case we are working with parquet-mr files format. Problem is described below:\n // https://stackoverflow.com/questions/55225108/why-is-dictionary-page-offset-0-for-plain-dictionary-encoding\n // We need to get dictionary page from column chunk if it exists.\n // Now if we use code commented above we don't get DICTIONARY_PAGE we get DATA_PAGE instead.\n return [];\n }\n\n const dictionarySize = Math.min(\n this.fileSize - dictionaryPageOffset,\n this.defaultDictionarySize\n );\n const pagesBuf = await this.read(dictionaryPageOffset, dictionarySize);\n\n const cursor = {buffer: pagesBuf, offset: 0, size: pagesBuf.length};\n const decodedPage = await decodePage(cursor, options);\n\n return decodedPage.dictionary!;\n }\n\n async readFooter(): Promise<FileMetaData> {\n const trailerLen = PARQUET_MAGIC.length + 4;\n const trailerBuf = await this.read(this.fileSize - trailerLen, trailerLen);\n\n const magic = trailerBuf.slice(4).toString();\n if (magic !== PARQUET_MAGIC) {\n throw new Error(`Not a valid parquet file (magic=\"${magic})`);\n }\n\n const metadataSize = trailerBuf.readUInt32LE(0);\n const metadataOffset = this.fileSize - metadataSize - trailerLen;\n if (metadataOffset < PARQUET_MAGIC.length) {\n throw new Error(`Invalid metadata size ${metadataOffset}`);\n }\n\n const metadataBuf = await this.read(metadataOffset, metadataSize);\n // let metadata = new parquet_thrift.FileMetaData();\n // parquet_util.decodeThrift(metadata, metadataBuf);\n const {metadata} = decodeFileMetadata(metadataBuf);\n return metadata;\n }\n}\n"],"file":"parquet-envelope-reader.js"}
|
|
1
|
+
{"version":3,"file":"parquet-envelope-reader.js","names":["DEFAULT_DICTIONARY_SIZE","ParquetEnvelopeReader","read","close","fileSize","options","defaultDictionarySize","PARQUET_MAGIC","length","buffer","magic","toString","PARQUET_MAGIC_ENCRYPTED","Error","schema","rowGroup","columnList","rowCount","Number","num_rows","columnData","columns","colChunk","colMetadata","meta_data","colKey","path_in_schema","fieldIndexOf","readColumnChunk","join","file_path","undefined","field","findField","type","getThriftEnum","Type","primitiveType","compression","CompressionCodec","codec","pagesOffset","data_page_offset","pagesSize","total_compressed_size","Math","min","rLevelMax","dLevelMax","column","numValues","num_values","dictionary","dictionaryPageOffset","dictionary_page_offset","dictionaryOffset","getDictionary","pagesBuf","decodeDataPages","dictionarySize","cursor","offset","size","decodePage","decodedPage","trailerLen","trailerBuf","slice","metadataSize","readUInt32LE","metadataOffset","metadataBuf","decodeFileMetadata","metadata","readFn","position","Promise","resolve","closeFn"],"sources":["../../../../src/parquetjs/parser/parquet-envelope-reader.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport {ParquetSchema} from '../schema/schema';\nimport {PARQUET_MAGIC, PARQUET_MAGIC_ENCRYPTED} from '../../constants';\nimport {ColumnChunk, CompressionCodec, FileMetaData, RowGroup, Type} from '../parquet-thrift';\nimport {\n ParquetBuffer,\n ParquetCompression,\n ParquetData,\n PrimitiveType,\n ParquetOptions\n} from '../schema/declare';\nimport {decodeFileMetadata, getThriftEnum, fieldIndexOf} from '../utils/read-utils';\nimport {decodeDataPages, decodePage} from './decoders';\n\nconst DEFAULT_DICTIONARY_SIZE = 1e6;\n\n/**\n * The parquet envelope reader allows direct, unbuffered access to the individual\n * sections of the parquet file, namely the header, footer and the row groups.\n * This class is intended for advanced/internal users; if you just want to retrieve\n * rows from a parquet file use the ParquetReader instead\n */\nexport class ParquetEnvelopeReader {\n public read: (position: number, length: number) => Promise<Buffer>;\n /**\n * Close this parquet reader. You MUST call this method once you're finished\n * reading rows\n */\n public close: () => Promise<void>;\n public fileSize: number;\n public defaultDictionarySize: number;\n\n static async openBuffer(buffer: Buffer): Promise<ParquetEnvelopeReader> {\n const readFn = (position: number, length: number) =>\n Promise.resolve(buffer.slice(position, position + length));\n const closeFn = () => Promise.resolve();\n return new ParquetEnvelopeReader(readFn, closeFn, buffer.length);\n }\n\n constructor(\n read: (position: number, length: number) => Promise<Buffer>,\n close: () => Promise<void>,\n fileSize: number,\n options?: any\n ) {\n this.read = read;\n this.close = close;\n this.fileSize = fileSize;\n this.defaultDictionarySize = options?.defaultDictionarySize || DEFAULT_DICTIONARY_SIZE;\n }\n\n async readHeader(): Promise<void> {\n const buffer = await this.read(0, PARQUET_MAGIC.length);\n\n const magic = buffer.toString();\n switch (magic) {\n case PARQUET_MAGIC:\n break;\n case PARQUET_MAGIC_ENCRYPTED:\n throw new Error('Encrypted parquet file not supported');\n default:\n throw new Error(`Invalid parquet file (magic=${magic})`);\n }\n }\n\n async readRowGroup(\n schema: ParquetSchema,\n rowGroup: RowGroup,\n columnList: string[][]\n ): Promise<ParquetBuffer> {\n const buffer: ParquetBuffer = {\n rowCount: Number(rowGroup.num_rows),\n columnData: {}\n };\n for (const colChunk of rowGroup.columns) {\n const colMetadata = colChunk.meta_data;\n const colKey = colMetadata?.path_in_schema;\n if (columnList.length > 0 && fieldIndexOf(columnList, colKey!) < 0) {\n continue; // eslint-disable-line no-continue\n }\n buffer.columnData[colKey!.join()] = await this.readColumnChunk(schema, colChunk);\n }\n return buffer;\n }\n\n /**\n * Do reading of parquet file's column chunk\n * @param schema\n * @param colChunk\n */\n async readColumnChunk(schema: ParquetSchema, colChunk: ColumnChunk): Promise<ParquetData> {\n if (colChunk.file_path !== undefined && colChunk.file_path !== null) {\n throw new Error('external references are not supported');\n }\n\n const field = schema.findField(colChunk.meta_data?.path_in_schema!);\n const type: PrimitiveType = getThriftEnum(Type, colChunk.meta_data?.type!) as any;\n\n if (type !== field.primitiveType) {\n throw new Error(`chunk type not matching schema: ${type}`);\n }\n\n const compression: ParquetCompression = getThriftEnum(\n CompressionCodec,\n colChunk.meta_data?.codec!\n ) as any;\n\n const pagesOffset = Number(colChunk.meta_data?.data_page_offset!);\n let pagesSize = Number(colChunk.meta_data?.total_compressed_size!);\n\n if (!colChunk.file_path) {\n pagesSize = Math.min(\n this.fileSize - pagesOffset,\n Number(colChunk.meta_data?.total_compressed_size)\n );\n }\n\n const options: ParquetOptions = {\n type,\n rLevelMax: field.rLevelMax,\n dLevelMax: field.dLevelMax,\n compression,\n column: field,\n numValues: colChunk.meta_data?.num_values,\n dictionary: []\n };\n\n let dictionary;\n\n const dictionaryPageOffset = colChunk?.meta_data?.dictionary_page_offset;\n\n if (dictionaryPageOffset) {\n const dictionaryOffset = Number(dictionaryPageOffset);\n // Getting dictionary from column chunk to iterate all over indexes to get dataPage values.\n dictionary = await this.getDictionary(dictionaryOffset, options, pagesOffset);\n }\n\n dictionary = options.dictionary?.length ? options.dictionary : dictionary;\n const pagesBuf = await this.read(pagesOffset, pagesSize);\n return await decodeDataPages(pagesBuf, {...options, dictionary});\n }\n\n /**\n * Getting dictionary for allows to flatten values by indices.\n * @param dictionaryPageOffset\n * @param options\n * @param pagesOffset\n * @returns\n */\n async getDictionary(\n dictionaryPageOffset: number,\n options: ParquetOptions,\n pagesOffset: number\n ): Promise<string[]> {\n if (dictionaryPageOffset === 0) {\n // dictionarySize = Math.min(this.fileSize - pagesOffset, this.defaultDictionarySize);\n // pagesBuf = await this.read(pagesOffset, dictionarySize);\n\n // In this case we are working with parquet-mr files format. Problem is described below:\n // https://stackoverflow.com/questions/55225108/why-is-dictionary-page-offset-0-for-plain-dictionary-encoding\n // We need to get dictionary page from column chunk if it exists.\n // Now if we use code commented above we don't get DICTIONARY_PAGE we get DATA_PAGE instead.\n return [];\n }\n\n const dictionarySize = Math.min(\n this.fileSize - dictionaryPageOffset,\n this.defaultDictionarySize\n );\n const pagesBuf = await this.read(dictionaryPageOffset, dictionarySize);\n\n const cursor = {buffer: pagesBuf, offset: 0, size: pagesBuf.length};\n const decodedPage = await decodePage(cursor, options);\n\n return decodedPage.dictionary!;\n }\n\n async readFooter(): Promise<FileMetaData> {\n const trailerLen = PARQUET_MAGIC.length + 4;\n const trailerBuf = await this.read(this.fileSize - trailerLen, trailerLen);\n\n const magic = trailerBuf.slice(4).toString();\n if (magic !== PARQUET_MAGIC) {\n throw new Error(`Not a valid parquet file (magic=\"${magic})`);\n }\n\n const metadataSize = trailerBuf.readUInt32LE(0);\n const metadataOffset = this.fileSize - metadataSize - trailerLen;\n if (metadataOffset < PARQUET_MAGIC.length) {\n throw new Error(`Invalid metadata size ${metadataOffset}`);\n }\n\n const metadataBuf = await this.read(metadataOffset, metadataSize);\n // let metadata = new parquet_thrift.FileMetaData();\n // parquet_util.decodeThrift(metadata, metadataBuf);\n const {metadata} = decodeFileMetadata(metadataBuf);\n return metadata;\n }\n}\n"],"mappings":"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"}
|