@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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/parquetjs/encoder/writer.ts"],"names":["Transform","PARQUET_CODECS","Compression","Shred","ColumnChunk","ColumnMetaData","CompressionCodec","ConvertedType","DataPageHeader","DataPageHeaderV2","Encoding","FieldRepetitionType","FileMetaData","KeyValue","PageHeader","PageType","RowGroup","SchemaElement","Type","osopen","oswrite","osclose","getBitWidth","serializeThrift","Int64","PARQUET_MAGIC","PARQUET_VERSION","PARQUET_DEFAULT_PAGE_SIZE","PARQUET_DEFAULT_ROW_GROUP_SIZE","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING","ParquetWriter","openFile","schema","path","opts","outputStream","openStream","envelopeWriter","ParquetEnvelopeWriter","constructor","rowBuffer","rowGroupSize","closed","userMetadata","writeHeader","err","close","appendRow","row","Error","shredRecord","rowCount","callback","writeFooter","setMetadata","key","value","String","setRowGroupSize","cnt","setPageSize","writeFn","bind","undefined","closeFn","fileOffset","write","offset","rowGroups","pageSize","useDataPageV2","Boolean","writeSection","buf","length","Buffer","from","writeRowGroup","records","rgroup","encodeRowGroup","baseOffset","push","metadata","body","encodeFooter","ParquetTransformer","objectMode","writeProxy","t","b","writer","_transform","encoding","then","Promise","resolve","_flush","encodeValues","type","values","encodeDataPage","column","data","rLevelsBuf","alloc","rLevelMax","rlevels","bitWidth","dLevelsBuf","dLevelMax","dlevels","valuesBuf","primitiveType","typeLength","dataBuf","concat","compressedBuf","deflate","compression","header","DATA_PAGE","data_page_header","num_values","count","definition_level_encoding","repetition_level_encoding","uncompressed_page_size","compressed_page_size","headerBuf","page","headerSize","encodeDataPageV2","disableEnvelope","DATA_PAGE_V2","data_page_header_v2","num_nulls","num_rows","definition_levels_byte_length","repetition_levels_byte_length","is_compressed","encodeColumnChunk","buffer","columnData","join","pageBuf","total_uncompressed_size","total_compressed_size","result","path_in_schema","data_page_offset","encodings","codec","metadataOffset","columns","total_byte_size","field","fieldList","isNested","cchunkData","cchunk","file_offset","meta_data","Number","version","created_by","row_groups","key_value_metadata","kv","schemaRoot","name","num_children","Object","keys","fields","relt","repetitionType","schemaElem","repetition_type","fieldCount","originalType","converted_type","type_length","metadataEncoded","footerEncoded","copy","writeUInt32LE"],"mappings":"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","sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport {Transform, Writable} from 'stream';\nimport {ParquetCodecOptions, PARQUET_CODECS} from '../codecs';\nimport * as Compression from '../compression';\nimport {\n ParquetBuffer,\n ParquetCodec,\n ParquetData,\n ParquetField,\n PrimitiveType\n} from '../schema/declare';\nimport {ParquetSchema} from '../schema/schema';\nimport * as Shred from '../schema/shred';\nimport {\n ColumnChunk,\n ColumnMetaData,\n CompressionCodec,\n ConvertedType,\n DataPageHeader,\n DataPageHeaderV2,\n Encoding,\n FieldRepetitionType,\n FileMetaData,\n KeyValue,\n PageHeader,\n PageType,\n RowGroup,\n SchemaElement,\n Type\n} from '../parquet-thrift';\nimport {osopen, oswrite, osclose} from '../utils/file-utils';\nimport {getBitWidth, serializeThrift} from '../utils/read-utils';\nimport Int64 from 'node-int64';\n\n/**\n * Parquet File Magic String\n */\nconst PARQUET_MAGIC = 'PAR1';\n\n/**\n * Parquet File Format Version\n */\nconst PARQUET_VERSION = 1;\n\n/**\n * Default Page and Row Group sizes\n */\nconst PARQUET_DEFAULT_PAGE_SIZE = 8192;\nconst PARQUET_DEFAULT_ROW_GROUP_SIZE = 4096;\n\n/**\n * Repetition and Definition Level Encoding\n */\nconst PARQUET_RDLVL_TYPE = 'INT32';\nconst PARQUET_RDLVL_ENCODING = 'RLE';\n\nexport interface ParquetWriterOptions {\n baseOffset?: number;\n rowGroupSize?: number;\n pageSize?: number;\n useDataPageV2?: boolean;\n\n // Write Stream Options\n flags?: string;\n encoding?: string;\n fd?: number;\n mode?: number;\n autoClose?: boolean;\n start?: number;\n}\n\n/**\n * Write a parquet file to an output stream. The ParquetWriter will perform\n * buffering/batching for performance, so close() must be called after all rows\n * are written.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class ParquetWriter<T> {\n /**\n * Convenience method to create a new buffered parquet writer that writes to\n * the specified file\n */\n static async openFile<T>(\n schema: ParquetSchema,\n path: string,\n opts?: ParquetWriterOptions\n ): Promise<ParquetWriter<T>> {\n const outputStream = await osopen(path, opts);\n return ParquetWriter.openStream(schema, outputStream, opts);\n }\n\n /**\n * Convenience method to create a new buffered parquet writer that writes to\n * the specified stream\n */\n static async openStream<T>(\n schema: ParquetSchema,\n outputStream: Writable,\n opts?: ParquetWriterOptions\n ): Promise<ParquetWriter<T>> {\n if (!opts) {\n // tslint:disable-next-line:no-parameter-reassignment\n opts = {};\n }\n\n const envelopeWriter = await ParquetEnvelopeWriter.openStream(schema, outputStream, opts);\n\n return new ParquetWriter(schema, envelopeWriter, opts);\n }\n\n public schema: ParquetSchema;\n public envelopeWriter: ParquetEnvelopeWriter;\n public rowBuffer: ParquetBuffer;\n public rowGroupSize: number;\n public closed: boolean;\n public userMetadata: Record<string, string>;\n\n /**\n * Create a new buffered parquet writer for a given envelope writer\n */\n constructor(\n schema: ParquetSchema,\n envelopeWriter: ParquetEnvelopeWriter,\n opts: ParquetWriterOptions\n ) {\n this.schema = schema;\n this.envelopeWriter = envelopeWriter;\n // @ts-ignore Row buffer typings...\n this.rowBuffer = {};\n this.rowGroupSize = opts.rowGroupSize || PARQUET_DEFAULT_ROW_GROUP_SIZE;\n this.closed = false;\n this.userMetadata = {};\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.writeHeader();\n }\n\n async writeHeader(): Promise<void> {\n // TODO - better not mess with promises in the constructor\n try {\n await this.envelopeWriter.writeHeader();\n } catch (err) {\n await this.envelopeWriter.close();\n throw err;\n }\n }\n\n /**\n * Append a single row to the parquet file. Rows are buffered in memory until\n * rowGroupSize rows are in the buffer or close() is called\n */\n async appendRow<T>(row: T): Promise<void> {\n if (this.closed) {\n throw new Error('writer was closed');\n }\n Shred.shredRecord(this.schema, row, this.rowBuffer);\n if (this.rowBuffer.rowCount >= this.rowGroupSize) {\n // @ts-ignore\n this.rowBuffer = {};\n }\n }\n\n /**\n * Finish writing the parquet file and commit the footer to disk. This method\n * MUST be called after you are finished adding rows. You must not call this\n * method twice on the same object or add any rows after the close() method has\n * been called\n */\n async close(callback?: () => void): Promise<void> {\n if (this.closed) {\n throw new Error('writer was closed');\n }\n\n this.closed = true;\n\n if (this.rowBuffer.rowCount > 0 || this.rowBuffer.rowCount >= this.rowGroupSize) {\n // @ts-ignore\n this.rowBuffer = {};\n }\n\n await this.envelopeWriter.writeFooter(this.userMetadata);\n await this.envelopeWriter.close();\n // this.envelopeWriter = null;\n\n if (callback) {\n callback();\n }\n }\n\n /**\n * Add key<>value metadata to the file\n */\n setMetadata(key: string, value: string): void {\n // TODO: value to be any, obj -> JSON\n this.userMetadata[String(key)] = String(value);\n }\n\n /**\n * Set the parquet row group size. This values controls the maximum number\n * of rows that are buffered in memory at any given time as well as the number\n * of rows that are co-located on disk. A higher value is generally better for\n * read-time I/O performance at the tradeoff of write-time memory usage.\n */\n setRowGroupSize(cnt: number): void {\n this.rowGroupSize = cnt;\n }\n\n /**\n * Set the parquet data page size. The data page size controls the maximum\n * number of column values that are written to disk as a consecutive array\n */\n setPageSize(cnt: number): void {\n this.envelopeWriter.setPageSize(cnt);\n }\n}\n\n/**\n * Create a parquet file from a schema and a number of row groups. This class\n * performs direct, unbuffered writes to the underlying output stream and is\n * intendend for advanced and internal users; the writeXXX methods must be\n * called in the correct order to produce a valid file.\n */\nexport class ParquetEnvelopeWriter {\n /**\n * Create a new parquet envelope writer that writes to the specified stream\n */\n static async openStream(\n schema: ParquetSchema,\n outputStream: Writable,\n opts: ParquetWriterOptions\n ): Promise<ParquetEnvelopeWriter> {\n const writeFn = oswrite.bind(undefined, outputStream);\n const closeFn = osclose.bind(undefined, outputStream);\n return new ParquetEnvelopeWriter(schema, writeFn, closeFn, 0, opts);\n }\n\n public schema: ParquetSchema;\n public write: (buf: Buffer) => Promise<void>;\n public close: () => Promise<void>;\n public offset: number;\n public rowCount: number;\n public rowGroups: RowGroup[];\n public pageSize: number;\n public useDataPageV2: boolean;\n\n constructor(\n schema: ParquetSchema,\n writeFn: (buf: Buffer) => Promise<void>,\n closeFn: () => Promise<void>,\n fileOffset: number,\n opts: ParquetWriterOptions\n ) {\n this.schema = schema;\n this.write = writeFn;\n this.close = closeFn;\n this.offset = fileOffset;\n this.rowCount = 0;\n this.rowGroups = [];\n this.pageSize = opts.pageSize || PARQUET_DEFAULT_PAGE_SIZE;\n this.useDataPageV2 = 'useDataPageV2' in opts ? Boolean(opts.useDataPageV2) : false;\n }\n\n writeSection(buf: Buffer): Promise<void> {\n this.offset += buf.length;\n return this.write(buf);\n }\n\n /**\n * Encode the parquet file header\n */\n writeHeader(): Promise<void> {\n return this.writeSection(Buffer.from(PARQUET_MAGIC));\n }\n\n /**\n * Encode a parquet row group. The records object should be created using the\n * shredRecord method\n */\n async writeRowGroup(records: ParquetBuffer): Promise<void> {\n const rgroup = await encodeRowGroup(this.schema, records, {\n baseOffset: this.offset,\n pageSize: this.pageSize,\n useDataPageV2: this.useDataPageV2\n });\n\n this.rowCount += records.rowCount;\n this.rowGroups.push(rgroup.metadata);\n return await this.writeSection(rgroup.body);\n }\n\n /**\n * Write the parquet file footer\n */\n writeFooter(userMetadata: Record<string, string>): Promise<void> {\n if (!userMetadata) {\n // tslint:disable-next-line:no-parameter-reassignment\n userMetadata = {};\n }\n\n return this.writeSection(\n encodeFooter(this.schema, this.rowCount, this.rowGroups, userMetadata)\n );\n }\n\n /**\n * Set the parquet data page size. The data page size controls the maximum\n * number of column values that are written to disk as a consecutive array\n */\n setPageSize(cnt: number): void {\n this.pageSize = cnt;\n }\n}\n\n/**\n * Create a parquet transform stream\n */\nexport class ParquetTransformer<T> extends Transform {\n public writer: ParquetWriter<T>;\n\n constructor(schema: ParquetSchema, opts: ParquetWriterOptions = {}) {\n super({objectMode: true});\n\n const writeProxy = (function (t: ParquetTransformer<any>) {\n return async function (b: any): Promise<void> {\n t.push(b);\n };\n })(this);\n\n this.writer = new ParquetWriter(\n schema,\n new ParquetEnvelopeWriter(schema, writeProxy, async () => {}, 0, opts),\n opts\n );\n }\n\n // tslint:disable-next-line:function-name\n _transform(row: any, encoding: string, callback: (val?: any) => void): Promise<void> {\n if (row) {\n return this.writer.appendRow(row).then(callback);\n }\n callback();\n return Promise.resolve();\n }\n\n // tslint:disable-next-line:function-name\n async _flush(callback: (val?: any) => void) {\n await this.writer.close(callback);\n }\n}\n\n/**\n * Encode a consecutive array of data using one of the parquet encodings\n */\nfunction encodeValues(\n type: PrimitiveType,\n encoding: ParquetCodec,\n values: any[],\n opts: ParquetCodecOptions\n) {\n if (!(encoding in PARQUET_CODECS)) {\n throw new Error(`invalid encoding: ${encoding}`);\n }\n return PARQUET_CODECS[encoding].encodeValues(type, values, opts);\n}\n\n/**\n * Encode a parquet data page\n */\nasync function encodeDataPage(\n column: ParquetField,\n data: ParquetData\n): Promise<{\n header: PageHeader;\n headerSize: number;\n page: Buffer;\n}> {\n /* encode repetition and definition levels */\n let rLevelsBuf = Buffer.alloc(0);\n if (column.rLevelMax > 0) {\n rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {\n bitWidth: getBitWidth(column.rLevelMax)\n // disableEnvelope: false\n });\n }\n\n let dLevelsBuf = Buffer.alloc(0);\n if (column.dLevelMax > 0) {\n dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {\n bitWidth: getBitWidth(column.dLevelMax)\n // disableEnvelope: false\n });\n }\n\n /* encode values */\n const valuesBuf = encodeValues(column.primitiveType!, column.encoding!, data.values, {\n typeLength: column.typeLength,\n bitWidth: column.typeLength\n });\n\n const dataBuf = Buffer.concat([rLevelsBuf, dLevelsBuf, valuesBuf]);\n\n // compression = column.compression === 'UNCOMPRESSED' ? (compression || 'UNCOMPRESSED') : column.compression;\n const compressedBuf = await Compression.deflate(column.compression!, dataBuf);\n\n /* build page header */\n const header = new PageHeader({\n type: PageType.DATA_PAGE,\n data_page_header: new DataPageHeader({\n num_values: data.count,\n encoding: Encoding[column.encoding!] as any,\n definition_level_encoding: Encoding[PARQUET_RDLVL_ENCODING], // [PARQUET_RDLVL_ENCODING],\n repetition_level_encoding: Encoding[PARQUET_RDLVL_ENCODING] // [PARQUET_RDLVL_ENCODING]\n }),\n uncompressed_page_size: dataBuf.length,\n compressed_page_size: compressedBuf.length\n });\n\n /* concat page header, repetition and definition levels and values */\n const headerBuf = serializeThrift(header);\n const page = Buffer.concat([headerBuf, compressedBuf]);\n\n return {header, headerSize: headerBuf.length, page};\n}\n\n/**\n * Encode a parquet data page (v2)\n */\nasync function encodeDataPageV2(\n column: ParquetField,\n data: ParquetData,\n rowCount: number\n): Promise<{\n header: PageHeader;\n headerSize: number;\n page: Buffer;\n}> {\n /* encode values */\n const valuesBuf = encodeValues(column.primitiveType!, column.encoding!, data.values, {\n typeLength: column.typeLength,\n bitWidth: column.typeLength\n });\n\n // compression = column.compression === 'UNCOMPRESSED' ? (compression || 'UNCOMPRESSED') : column.compression;\n const compressedBuf = await Compression.deflate(column.compression!, valuesBuf);\n\n /* encode repetition and definition levels */\n let rLevelsBuf = Buffer.alloc(0);\n if (column.rLevelMax > 0) {\n rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {\n bitWidth: getBitWidth(column.rLevelMax),\n disableEnvelope: true\n });\n }\n\n let dLevelsBuf = Buffer.alloc(0);\n if (column.dLevelMax > 0) {\n dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {\n bitWidth: getBitWidth(column.dLevelMax),\n disableEnvelope: true\n });\n }\n\n /* build page header */\n const header = new PageHeader({\n type: PageType.DATA_PAGE_V2,\n data_page_header_v2: new DataPageHeaderV2({\n num_values: data.count,\n num_nulls: data.count - data.values.length,\n num_rows: rowCount,\n encoding: Encoding[column.encoding!] as any,\n definition_levels_byte_length: dLevelsBuf.length,\n repetition_levels_byte_length: rLevelsBuf.length,\n is_compressed: column.compression !== 'UNCOMPRESSED'\n }),\n uncompressed_page_size: rLevelsBuf.length + dLevelsBuf.length + valuesBuf.length,\n compressed_page_size: rLevelsBuf.length + dLevelsBuf.length + compressedBuf.length\n });\n\n /* concat page header, repetition and definition levels and values */\n const headerBuf = serializeThrift(header);\n const page = Buffer.concat([headerBuf, rLevelsBuf, dLevelsBuf, compressedBuf]);\n return {header, headerSize: headerBuf.length, page};\n}\n\n/**\n * Encode an array of values into a parquet column chunk\n */\nasync function encodeColumnChunk(\n column: ParquetField,\n buffer: ParquetBuffer,\n offset: number,\n opts: ParquetWriterOptions\n): Promise<{\n body: Buffer;\n metadata: ColumnMetaData;\n metadataOffset: number;\n}> {\n const data = buffer.columnData[column.path.join()];\n const baseOffset = (opts.baseOffset || 0) + offset;\n /* encode data page(s) */\n // const pages: Buffer[] = [];\n let pageBuf: Buffer;\n // tslint:disable-next-line:variable-name\n let total_uncompressed_size = 0;\n // tslint:disable-next-line:variable-name\n let total_compressed_size = 0;\n {\n const result = opts.useDataPageV2\n ? await encodeDataPageV2(column, data, buffer.rowCount)\n : await encodeDataPage(column, data);\n // pages.push(result.page);\n pageBuf = result.page;\n total_uncompressed_size += result.header.uncompressed_page_size + result.headerSize;\n total_compressed_size += result.header.compressed_page_size + result.headerSize;\n }\n\n // const pagesBuf = Buffer.concat(pages);\n // const compression = column.compression === 'UNCOMPRESSED' ? (opts.compression || 'UNCOMPRESSED') : column.compression;\n\n /* prepare metadata header */\n const metadata = new ColumnMetaData({\n path_in_schema: column.path,\n num_values: data.count,\n data_page_offset: baseOffset,\n encodings: [],\n total_uncompressed_size, // : pagesBuf.length,\n total_compressed_size,\n type: Type[column.primitiveType!],\n codec: CompressionCodec[column.compression!]\n });\n\n /* list encodings */\n metadata.encodings.push(Encoding[PARQUET_RDLVL_ENCODING]);\n metadata.encodings.push(Encoding[column.encoding!]);\n\n /* concat metadata header and data pages */\n const metadataOffset = baseOffset + pageBuf.length;\n const body = Buffer.concat([pageBuf, serializeThrift(metadata)]);\n return {body, metadata, metadataOffset};\n}\n\n/**\n * Encode a list of column values into a parquet row group\n */\nasync function encodeRowGroup(\n schema: ParquetSchema,\n data: ParquetBuffer,\n opts: ParquetWriterOptions\n): Promise<{\n body: Buffer;\n metadata: RowGroup;\n}> {\n const metadata = new RowGroup({\n num_rows: data.rowCount,\n columns: [],\n total_byte_size: 0\n });\n\n let body = Buffer.alloc(0);\n for (const field of schema.fieldList) {\n if (field.isNested) {\n continue; // eslint-disable-line no-continue\n }\n\n const cchunkData = await encodeColumnChunk(field, data, body.length, opts);\n\n const cchunk = new ColumnChunk({\n file_offset: cchunkData.metadataOffset,\n meta_data: cchunkData.metadata\n });\n\n metadata.columns.push(cchunk);\n metadata.total_byte_size = new Int64(Number(metadata.total_byte_size) + cchunkData.body.length);\n\n body = Buffer.concat([body, cchunkData.body]);\n }\n\n return {body, metadata};\n}\n\n/**\n * Encode a parquet file metadata footer\n */\nfunction encodeFooter(\n schema: ParquetSchema,\n rowCount: number,\n rowGroups: RowGroup[],\n userMetadata: Record<string, string>\n): Buffer {\n const metadata = new FileMetaData({\n version: PARQUET_VERSION,\n created_by: 'parquets',\n num_rows: rowCount,\n row_groups: rowGroups,\n schema: [],\n key_value_metadata: []\n });\n\n for (const key in userMetadata) {\n const kv = new KeyValue({\n key,\n value: userMetadata[key]\n });\n metadata.key_value_metadata?.push?.(kv);\n }\n\n {\n const schemaRoot = new SchemaElement({\n name: 'root',\n num_children: Object.keys(schema.fields).length\n });\n metadata.schema.push(schemaRoot);\n }\n\n for (const field of schema.fieldList) {\n const relt = FieldRepetitionType[field.repetitionType];\n const schemaElem = new SchemaElement({\n name: field.name,\n repetition_type: relt as any\n });\n\n if (field.isNested) {\n schemaElem.num_children = field.fieldCount;\n } else {\n schemaElem.type = Type[field.primitiveType!] as Type;\n }\n\n if (field.originalType) {\n schemaElem.converted_type = ConvertedType[field.originalType] as ConvertedType;\n }\n\n schemaElem.type_length = field.typeLength;\n\n metadata.schema.push(schemaElem);\n }\n\n const metadataEncoded = serializeThrift(metadata);\n const footerEncoded = Buffer.alloc(metadataEncoded.length + 8);\n metadataEncoded.copy(footerEncoded);\n footerEncoded.writeUInt32LE(metadataEncoded.length, metadataEncoded.length);\n footerEncoded.write(PARQUET_MAGIC, metadataEncoded.length + 4);\n return footerEncoded;\n}\n"],"file":"writer.js"}
|
|
1
|
+
{"version":3,"file":"writer.js","names":["Transform","PARQUET_CODECS","Compression","Shred","ColumnChunk","ColumnMetaData","CompressionCodec","ConvertedType","DataPageHeader","DataPageHeaderV2","Encoding","FieldRepetitionType","FileMetaData","KeyValue","PageHeader","PageType","RowGroup","SchemaElement","Type","osopen","oswrite","osclose","getBitWidth","serializeThrift","Int64","PARQUET_MAGIC","PARQUET_VERSION","PARQUET_DEFAULT_PAGE_SIZE","PARQUET_DEFAULT_ROW_GROUP_SIZE","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING","ParquetWriter","openFile","schema","path","opts","outputStream","openStream","envelopeWriter","ParquetEnvelopeWriter","constructor","rowBuffer","rowGroupSize","closed","userMetadata","writeHeader","err","close","appendRow","row","Error","shredRecord","rowCount","callback","writeFooter","setMetadata","key","value","String","setRowGroupSize","cnt","setPageSize","writeFn","bind","undefined","closeFn","fileOffset","write","offset","rowGroups","pageSize","useDataPageV2","Boolean","writeSection","buf","length","Buffer","from","writeRowGroup","records","rgroup","encodeRowGroup","baseOffset","push","metadata","body","encodeFooter","ParquetTransformer","objectMode","writeProxy","t","b","writer","_transform","encoding","then","Promise","resolve","_flush","encodeValues","type","values","encodeDataPage","column","data","rLevelsBuf","alloc","rLevelMax","rlevels","bitWidth","dLevelsBuf","dLevelMax","dlevels","valuesBuf","primitiveType","typeLength","dataBuf","concat","compressedBuf","deflate","compression","header","DATA_PAGE","data_page_header","num_values","count","definition_level_encoding","repetition_level_encoding","uncompressed_page_size","compressed_page_size","headerBuf","page","headerSize","encodeDataPageV2","disableEnvelope","DATA_PAGE_V2","data_page_header_v2","num_nulls","num_rows","definition_levels_byte_length","repetition_levels_byte_length","is_compressed","encodeColumnChunk","buffer","columnData","join","pageBuf","total_uncompressed_size","total_compressed_size","result","path_in_schema","data_page_offset","encodings","codec","metadataOffset","columns","total_byte_size","field","fieldList","isNested","cchunkData","cchunk","file_offset","meta_data","Number","version","created_by","row_groups","key_value_metadata","kv","schemaRoot","name","num_children","Object","keys","fields","relt","repetitionType","schemaElem","repetition_type","fieldCount","originalType","converted_type","type_length","metadataEncoded","footerEncoded","copy","writeUInt32LE"],"sources":["../../../../src/parquetjs/encoder/writer.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport {Transform, Writable} from 'stream';\nimport {ParquetCodecOptions, PARQUET_CODECS} from '../codecs';\nimport * as Compression from '../compression';\nimport {\n ParquetBuffer,\n ParquetCodec,\n ParquetData,\n ParquetField,\n PrimitiveType\n} from '../schema/declare';\nimport {ParquetSchema} from '../schema/schema';\nimport * as Shred from '../schema/shred';\nimport {\n ColumnChunk,\n ColumnMetaData,\n CompressionCodec,\n ConvertedType,\n DataPageHeader,\n DataPageHeaderV2,\n Encoding,\n FieldRepetitionType,\n FileMetaData,\n KeyValue,\n PageHeader,\n PageType,\n RowGroup,\n SchemaElement,\n Type\n} from '../parquet-thrift';\nimport {osopen, oswrite, osclose} from '../utils/file-utils';\nimport {getBitWidth, serializeThrift} from '../utils/read-utils';\nimport Int64 from 'node-int64';\n\n/**\n * Parquet File Magic String\n */\nconst PARQUET_MAGIC = 'PAR1';\n\n/**\n * Parquet File Format Version\n */\nconst PARQUET_VERSION = 1;\n\n/**\n * Default Page and Row Group sizes\n */\nconst PARQUET_DEFAULT_PAGE_SIZE = 8192;\nconst PARQUET_DEFAULT_ROW_GROUP_SIZE = 4096;\n\n/**\n * Repetition and Definition Level Encoding\n */\nconst PARQUET_RDLVL_TYPE = 'INT32';\nconst PARQUET_RDLVL_ENCODING = 'RLE';\n\nexport interface ParquetWriterOptions {\n baseOffset?: number;\n rowGroupSize?: number;\n pageSize?: number;\n useDataPageV2?: boolean;\n\n // Write Stream Options\n flags?: string;\n encoding?: string;\n fd?: number;\n mode?: number;\n autoClose?: boolean;\n start?: number;\n}\n\n/**\n * Write a parquet file to an output stream. The ParquetWriter will perform\n * buffering/batching for performance, so close() must be called after all rows\n * are written.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class ParquetWriter<T> {\n /**\n * Convenience method to create a new buffered parquet writer that writes to\n * the specified file\n */\n static async openFile<T>(\n schema: ParquetSchema,\n path: string,\n opts?: ParquetWriterOptions\n ): Promise<ParquetWriter<T>> {\n const outputStream = await osopen(path, opts);\n return ParquetWriter.openStream(schema, outputStream, opts);\n }\n\n /**\n * Convenience method to create a new buffered parquet writer that writes to\n * the specified stream\n */\n static async openStream<T>(\n schema: ParquetSchema,\n outputStream: Writable,\n opts?: ParquetWriterOptions\n ): Promise<ParquetWriter<T>> {\n if (!opts) {\n // tslint:disable-next-line:no-parameter-reassignment\n opts = {};\n }\n\n const envelopeWriter = await ParquetEnvelopeWriter.openStream(schema, outputStream, opts);\n\n return new ParquetWriter(schema, envelopeWriter, opts);\n }\n\n public schema: ParquetSchema;\n public envelopeWriter: ParquetEnvelopeWriter;\n public rowBuffer: ParquetBuffer;\n public rowGroupSize: number;\n public closed: boolean;\n public userMetadata: Record<string, string>;\n\n /**\n * Create a new buffered parquet writer for a given envelope writer\n */\n constructor(\n schema: ParquetSchema,\n envelopeWriter: ParquetEnvelopeWriter,\n opts: ParquetWriterOptions\n ) {\n this.schema = schema;\n this.envelopeWriter = envelopeWriter;\n // @ts-ignore Row buffer typings...\n this.rowBuffer = {};\n this.rowGroupSize = opts.rowGroupSize || PARQUET_DEFAULT_ROW_GROUP_SIZE;\n this.closed = false;\n this.userMetadata = {};\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.writeHeader();\n }\n\n async writeHeader(): Promise<void> {\n // TODO - better not mess with promises in the constructor\n try {\n await this.envelopeWriter.writeHeader();\n } catch (err) {\n await this.envelopeWriter.close();\n throw err;\n }\n }\n\n /**\n * Append a single row to the parquet file. Rows are buffered in memory until\n * rowGroupSize rows are in the buffer or close() is called\n */\n async appendRow<T>(row: T): Promise<void> {\n if (this.closed) {\n throw new Error('writer was closed');\n }\n Shred.shredRecord(this.schema, row, this.rowBuffer);\n if (this.rowBuffer.rowCount >= this.rowGroupSize) {\n // @ts-ignore\n this.rowBuffer = {};\n }\n }\n\n /**\n * Finish writing the parquet file and commit the footer to disk. This method\n * MUST be called after you are finished adding rows. You must not call this\n * method twice on the same object or add any rows after the close() method has\n * been called\n */\n async close(callback?: () => void): Promise<void> {\n if (this.closed) {\n throw new Error('writer was closed');\n }\n\n this.closed = true;\n\n if (this.rowBuffer.rowCount > 0 || this.rowBuffer.rowCount >= this.rowGroupSize) {\n // @ts-ignore\n this.rowBuffer = {};\n }\n\n await this.envelopeWriter.writeFooter(this.userMetadata);\n await this.envelopeWriter.close();\n // this.envelopeWriter = null;\n\n if (callback) {\n callback();\n }\n }\n\n /**\n * Add key<>value metadata to the file\n */\n setMetadata(key: string, value: string): void {\n // TODO: value to be any, obj -> JSON\n this.userMetadata[String(key)] = String(value);\n }\n\n /**\n * Set the parquet row group size. This values controls the maximum number\n * of rows that are buffered in memory at any given time as well as the number\n * of rows that are co-located on disk. A higher value is generally better for\n * read-time I/O performance at the tradeoff of write-time memory usage.\n */\n setRowGroupSize(cnt: number): void {\n this.rowGroupSize = cnt;\n }\n\n /**\n * Set the parquet data page size. The data page size controls the maximum\n * number of column values that are written to disk as a consecutive array\n */\n setPageSize(cnt: number): void {\n this.envelopeWriter.setPageSize(cnt);\n }\n}\n\n/**\n * Create a parquet file from a schema and a number of row groups. This class\n * performs direct, unbuffered writes to the underlying output stream and is\n * intendend for advanced and internal users; the writeXXX methods must be\n * called in the correct order to produce a valid file.\n */\nexport class ParquetEnvelopeWriter {\n /**\n * Create a new parquet envelope writer that writes to the specified stream\n */\n static async openStream(\n schema: ParquetSchema,\n outputStream: Writable,\n opts: ParquetWriterOptions\n ): Promise<ParquetEnvelopeWriter> {\n const writeFn = oswrite.bind(undefined, outputStream);\n const closeFn = osclose.bind(undefined, outputStream);\n return new ParquetEnvelopeWriter(schema, writeFn, closeFn, 0, opts);\n }\n\n public schema: ParquetSchema;\n public write: (buf: Buffer) => Promise<void>;\n public close: () => Promise<void>;\n public offset: number;\n public rowCount: number;\n public rowGroups: RowGroup[];\n public pageSize: number;\n public useDataPageV2: boolean;\n\n constructor(\n schema: ParquetSchema,\n writeFn: (buf: Buffer) => Promise<void>,\n closeFn: () => Promise<void>,\n fileOffset: number,\n opts: ParquetWriterOptions\n ) {\n this.schema = schema;\n this.write = writeFn;\n this.close = closeFn;\n this.offset = fileOffset;\n this.rowCount = 0;\n this.rowGroups = [];\n this.pageSize = opts.pageSize || PARQUET_DEFAULT_PAGE_SIZE;\n this.useDataPageV2 = 'useDataPageV2' in opts ? Boolean(opts.useDataPageV2) : false;\n }\n\n writeSection(buf: Buffer): Promise<void> {\n this.offset += buf.length;\n return this.write(buf);\n }\n\n /**\n * Encode the parquet file header\n */\n writeHeader(): Promise<void> {\n return this.writeSection(Buffer.from(PARQUET_MAGIC));\n }\n\n /**\n * Encode a parquet row group. The records object should be created using the\n * shredRecord method\n */\n async writeRowGroup(records: ParquetBuffer): Promise<void> {\n const rgroup = await encodeRowGroup(this.schema, records, {\n baseOffset: this.offset,\n pageSize: this.pageSize,\n useDataPageV2: this.useDataPageV2\n });\n\n this.rowCount += records.rowCount;\n this.rowGroups.push(rgroup.metadata);\n return await this.writeSection(rgroup.body);\n }\n\n /**\n * Write the parquet file footer\n */\n writeFooter(userMetadata: Record<string, string>): Promise<void> {\n if (!userMetadata) {\n // tslint:disable-next-line:no-parameter-reassignment\n userMetadata = {};\n }\n\n return this.writeSection(\n encodeFooter(this.schema, this.rowCount, this.rowGroups, userMetadata)\n );\n }\n\n /**\n * Set the parquet data page size. The data page size controls the maximum\n * number of column values that are written to disk as a consecutive array\n */\n setPageSize(cnt: number): void {\n this.pageSize = cnt;\n }\n}\n\n/**\n * Create a parquet transform stream\n */\nexport class ParquetTransformer<T> extends Transform {\n public writer: ParquetWriter<T>;\n\n constructor(schema: ParquetSchema, opts: ParquetWriterOptions = {}) {\n super({objectMode: true});\n\n const writeProxy = (function (t: ParquetTransformer<any>) {\n return async function (b: any): Promise<void> {\n t.push(b);\n };\n })(this);\n\n this.writer = new ParquetWriter(\n schema,\n new ParquetEnvelopeWriter(schema, writeProxy, async () => {}, 0, opts),\n opts\n );\n }\n\n // tslint:disable-next-line:function-name\n _transform(row: any, encoding: string, callback: (val?: any) => void): Promise<void> {\n if (row) {\n return this.writer.appendRow(row).then(callback);\n }\n callback();\n return Promise.resolve();\n }\n\n // tslint:disable-next-line:function-name\n async _flush(callback: (val?: any) => void) {\n await this.writer.close(callback);\n }\n}\n\n/**\n * Encode a consecutive array of data using one of the parquet encodings\n */\nfunction encodeValues(\n type: PrimitiveType,\n encoding: ParquetCodec,\n values: any[],\n opts: ParquetCodecOptions\n) {\n if (!(encoding in PARQUET_CODECS)) {\n throw new Error(`invalid encoding: ${encoding}`);\n }\n return PARQUET_CODECS[encoding].encodeValues(type, values, opts);\n}\n\n/**\n * Encode a parquet data page\n */\nasync function encodeDataPage(\n column: ParquetField,\n data: ParquetData\n): Promise<{\n header: PageHeader;\n headerSize: number;\n page: Buffer;\n}> {\n /* encode repetition and definition levels */\n let rLevelsBuf = Buffer.alloc(0);\n if (column.rLevelMax > 0) {\n rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {\n bitWidth: getBitWidth(column.rLevelMax)\n // disableEnvelope: false\n });\n }\n\n let dLevelsBuf = Buffer.alloc(0);\n if (column.dLevelMax > 0) {\n dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {\n bitWidth: getBitWidth(column.dLevelMax)\n // disableEnvelope: false\n });\n }\n\n /* encode values */\n const valuesBuf = encodeValues(column.primitiveType!, column.encoding!, data.values, {\n typeLength: column.typeLength,\n bitWidth: column.typeLength\n });\n\n const dataBuf = Buffer.concat([rLevelsBuf, dLevelsBuf, valuesBuf]);\n\n // compression = column.compression === 'UNCOMPRESSED' ? (compression || 'UNCOMPRESSED') : column.compression;\n const compressedBuf = await Compression.deflate(column.compression!, dataBuf);\n\n /* build page header */\n const header = new PageHeader({\n type: PageType.DATA_PAGE,\n data_page_header: new DataPageHeader({\n num_values: data.count,\n encoding: Encoding[column.encoding!] as any,\n definition_level_encoding: Encoding[PARQUET_RDLVL_ENCODING], // [PARQUET_RDLVL_ENCODING],\n repetition_level_encoding: Encoding[PARQUET_RDLVL_ENCODING] // [PARQUET_RDLVL_ENCODING]\n }),\n uncompressed_page_size: dataBuf.length,\n compressed_page_size: compressedBuf.length\n });\n\n /* concat page header, repetition and definition levels and values */\n const headerBuf = serializeThrift(header);\n const page = Buffer.concat([headerBuf, compressedBuf]);\n\n return {header, headerSize: headerBuf.length, page};\n}\n\n/**\n * Encode a parquet data page (v2)\n */\nasync function encodeDataPageV2(\n column: ParquetField,\n data: ParquetData,\n rowCount: number\n): Promise<{\n header: PageHeader;\n headerSize: number;\n page: Buffer;\n}> {\n /* encode values */\n const valuesBuf = encodeValues(column.primitiveType!, column.encoding!, data.values, {\n typeLength: column.typeLength,\n bitWidth: column.typeLength\n });\n\n // compression = column.compression === 'UNCOMPRESSED' ? (compression || 'UNCOMPRESSED') : column.compression;\n const compressedBuf = await Compression.deflate(column.compression!, valuesBuf);\n\n /* encode repetition and definition levels */\n let rLevelsBuf = Buffer.alloc(0);\n if (column.rLevelMax > 0) {\n rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {\n bitWidth: getBitWidth(column.rLevelMax),\n disableEnvelope: true\n });\n }\n\n let dLevelsBuf = Buffer.alloc(0);\n if (column.dLevelMax > 0) {\n dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {\n bitWidth: getBitWidth(column.dLevelMax),\n disableEnvelope: true\n });\n }\n\n /* build page header */\n const header = new PageHeader({\n type: PageType.DATA_PAGE_V2,\n data_page_header_v2: new DataPageHeaderV2({\n num_values: data.count,\n num_nulls: data.count - data.values.length,\n num_rows: rowCount,\n encoding: Encoding[column.encoding!] as any,\n definition_levels_byte_length: dLevelsBuf.length,\n repetition_levels_byte_length: rLevelsBuf.length,\n is_compressed: column.compression !== 'UNCOMPRESSED'\n }),\n uncompressed_page_size: rLevelsBuf.length + dLevelsBuf.length + valuesBuf.length,\n compressed_page_size: rLevelsBuf.length + dLevelsBuf.length + compressedBuf.length\n });\n\n /* concat page header, repetition and definition levels and values */\n const headerBuf = serializeThrift(header);\n const page = Buffer.concat([headerBuf, rLevelsBuf, dLevelsBuf, compressedBuf]);\n return {header, headerSize: headerBuf.length, page};\n}\n\n/**\n * Encode an array of values into a parquet column chunk\n */\nasync function encodeColumnChunk(\n column: ParquetField,\n buffer: ParquetBuffer,\n offset: number,\n opts: ParquetWriterOptions\n): Promise<{\n body: Buffer;\n metadata: ColumnMetaData;\n metadataOffset: number;\n}> {\n const data = buffer.columnData[column.path.join()];\n const baseOffset = (opts.baseOffset || 0) + offset;\n /* encode data page(s) */\n // const pages: Buffer[] = [];\n let pageBuf: Buffer;\n // tslint:disable-next-line:variable-name\n let total_uncompressed_size = 0;\n // tslint:disable-next-line:variable-name\n let total_compressed_size = 0;\n {\n const result = opts.useDataPageV2\n ? await encodeDataPageV2(column, data, buffer.rowCount)\n : await encodeDataPage(column, data);\n // pages.push(result.page);\n pageBuf = result.page;\n total_uncompressed_size += result.header.uncompressed_page_size + result.headerSize;\n total_compressed_size += result.header.compressed_page_size + result.headerSize;\n }\n\n // const pagesBuf = Buffer.concat(pages);\n // const compression = column.compression === 'UNCOMPRESSED' ? (opts.compression || 'UNCOMPRESSED') : column.compression;\n\n /* prepare metadata header */\n const metadata = new ColumnMetaData({\n path_in_schema: column.path,\n num_values: data.count,\n data_page_offset: baseOffset,\n encodings: [],\n total_uncompressed_size, // : pagesBuf.length,\n total_compressed_size,\n type: Type[column.primitiveType!],\n codec: CompressionCodec[column.compression!]\n });\n\n /* list encodings */\n metadata.encodings.push(Encoding[PARQUET_RDLVL_ENCODING]);\n metadata.encodings.push(Encoding[column.encoding!]);\n\n /* concat metadata header and data pages */\n const metadataOffset = baseOffset + pageBuf.length;\n const body = Buffer.concat([pageBuf, serializeThrift(metadata)]);\n return {body, metadata, metadataOffset};\n}\n\n/**\n * Encode a list of column values into a parquet row group\n */\nasync function encodeRowGroup(\n schema: ParquetSchema,\n data: ParquetBuffer,\n opts: ParquetWriterOptions\n): Promise<{\n body: Buffer;\n metadata: RowGroup;\n}> {\n const metadata = new RowGroup({\n num_rows: data.rowCount,\n columns: [],\n total_byte_size: 0\n });\n\n let body = Buffer.alloc(0);\n for (const field of schema.fieldList) {\n if (field.isNested) {\n continue; // eslint-disable-line no-continue\n }\n\n const cchunkData = await encodeColumnChunk(field, data, body.length, opts);\n\n const cchunk = new ColumnChunk({\n file_offset: cchunkData.metadataOffset,\n meta_data: cchunkData.metadata\n });\n\n metadata.columns.push(cchunk);\n metadata.total_byte_size = new Int64(Number(metadata.total_byte_size) + cchunkData.body.length);\n\n body = Buffer.concat([body, cchunkData.body]);\n }\n\n return {body, metadata};\n}\n\n/**\n * Encode a parquet file metadata footer\n */\nfunction encodeFooter(\n schema: ParquetSchema,\n rowCount: number,\n rowGroups: RowGroup[],\n userMetadata: Record<string, string>\n): Buffer {\n const metadata = new FileMetaData({\n version: PARQUET_VERSION,\n created_by: 'parquets',\n num_rows: rowCount,\n row_groups: rowGroups,\n schema: [],\n key_value_metadata: []\n });\n\n for (const key in userMetadata) {\n const kv = new KeyValue({\n key,\n value: userMetadata[key]\n });\n metadata.key_value_metadata?.push?.(kv);\n }\n\n {\n const schemaRoot = new SchemaElement({\n name: 'root',\n num_children: Object.keys(schema.fields).length\n });\n metadata.schema.push(schemaRoot);\n }\n\n for (const field of schema.fieldList) {\n const relt = FieldRepetitionType[field.repetitionType];\n const schemaElem = new SchemaElement({\n name: field.name,\n repetition_type: relt as any\n });\n\n if (field.isNested) {\n schemaElem.num_children = field.fieldCount;\n } else {\n schemaElem.type = Type[field.primitiveType!] as Type;\n }\n\n if (field.originalType) {\n schemaElem.converted_type = ConvertedType[field.originalType] as ConvertedType;\n }\n\n schemaElem.type_length = field.typeLength;\n\n metadata.schema.push(schemaElem);\n }\n\n const metadataEncoded = serializeThrift(metadata);\n const footerEncoded = Buffer.alloc(metadataEncoded.length + 8);\n metadataEncoded.copy(footerEncoded);\n footerEncoded.writeUInt32LE(metadataEncoded.length, metadataEncoded.length);\n footerEncoded.write(PARQUET_MAGIC, metadataEncoded.length + 4);\n return footerEncoded;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"file.js","names":["fs","fopen","filePath","Promise","resolve","reject","open","err","fd","fstat","stat","fread","position","length","buffer","Buffer","alloc","read","bytesRead","buf","Error","fclose","close","oswrite","os","write","osclose","osopen","path","opts","outputStream","createWriteStream","on"],"sources":["../../../src/parquetjs/file.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport fs from 'fs';\n\nexport function fopen(filePath) {\n return new Promise((resolve, reject) => {\n fs.open(filePath, 'r', (err, fd) => {\n if (err) {\n reject(err);\n } else {\n resolve(fd);\n }\n });\n });\n}\n\nexport function fstat(filePath) {\n return new Promise<fs.Stats>((resolve, reject) => {\n fs.stat(filePath, (err, stat) => {\n if (err) {\n reject(err);\n } else {\n resolve(stat);\n }\n });\n });\n}\n\nexport function fread(fd, position, length) {\n const buffer = Buffer.alloc(length);\n\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, 0, length, position, (err, bytesRead, buf) => {\n if (err || bytesRead !== length) {\n reject(err || Error('read failed'));\n } else {\n resolve(buf);\n }\n });\n });\n}\n\nexport function fclose(fd) {\n return new Promise((resolve, reject) => {\n fs.close(fd, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve(err);\n }\n });\n });\n}\n\nexport function oswrite(os, buf): Promise<void> {\n return new Promise((resolve, reject) => {\n os.write(buf, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osclose(os): Promise<void> {\n return new Promise((resolve, reject) => {\n os.close((err) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osopen(path, opts) {\n return new Promise((resolve, reject) => {\n const outputStream = fs.createWriteStream(path, opts);\n\n outputStream.on('open', function (fd) {\n resolve(outputStream);\n });\n\n outputStream.on('error', function (err) {\n reject(err);\n });\n });\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"BoundaryOrder.js","names":["BoundaryOrder"],"sources":["../../../../src/parquetjs/parquet-thrift/BoundaryOrder.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nexport enum BoundaryOrder {\n UNORDERED = 0,\n ASCENDING = 1,\n DESCENDING = 2\n}\n"],"mappings":";AAMA,WAAYA,aAAa;AAIxB,WAJWA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;AAAA,GAAbA,aAAa,KAAbA,aAAa"}
|
|
@@ -1,39 +1,32 @@
|
|
|
1
|
+
|
|
1
2
|
import * as thrift from 'thrift';
|
|
2
3
|
export class BsonType {
|
|
3
4
|
constructor() {}
|
|
4
|
-
|
|
5
5
|
write(output) {
|
|
6
6
|
output.writeStructBegin('BsonType');
|
|
7
7
|
output.writeFieldStop();
|
|
8
8
|
output.writeStructEnd();
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
-
|
|
12
11
|
static read(input) {
|
|
13
12
|
input.readStructBegin();
|
|
14
|
-
|
|
15
13
|
while (true) {
|
|
16
14
|
const ret = input.readFieldBegin();
|
|
17
15
|
const fieldType = ret.ftype;
|
|
18
16
|
const fieldId = ret.fid;
|
|
19
|
-
|
|
20
17
|
if (fieldType === thrift.Thrift.Type.STOP) {
|
|
21
18
|
break;
|
|
22
19
|
}
|
|
23
|
-
|
|
24
20
|
switch (fieldId) {
|
|
25
21
|
default:
|
|
26
22
|
{
|
|
27
23
|
input.skip(fieldType);
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
|
-
|
|
31
26
|
input.readFieldEnd();
|
|
32
27
|
}
|
|
33
|
-
|
|
34
28
|
input.readStructEnd();
|
|
35
29
|
return new BsonType();
|
|
36
30
|
}
|
|
37
|
-
|
|
38
31
|
}
|
|
39
32
|
//# sourceMappingURL=BsonType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"BsonType.js","names":["thrift","BsonType","constructor","write","output","writeStructBegin","writeFieldStop","writeStructEnd","read","input","readStructBegin","ret","readFieldBegin","fieldType","ftype","fieldId","fid","Thrift","Type","STOP","skip","readFieldEnd","readStructEnd"],"sources":["../../../../src/parquetjs/parquet-thrift/BsonType.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IBsonTypeArgs {}\nexport class BsonType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('BsonType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): BsonType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new BsonType();\n }\n}\n"],"mappings":";AAMA,OAAO,KAAKA,MAAM,MAAM,QAAQ;AAEhC,OAAO,MAAMC,QAAQ,CAAC;EACpBC,WAAW,GAAG,CAAC;EACRC,KAAK,CAACC,MAAwB,EAAQ;IAC3CA,MAAM,CAACC,gBAAgB,CAAC,UAAU,CAAC;IACnCD,MAAM,CAACE,cAAc,EAAE;IACvBF,MAAM,CAACG,cAAc,EAAE;IACvB;EACF;EACA,OAAcC,IAAI,CAACC,KAAuB,EAAY;IACpDA,KAAK,CAACC,eAAe,EAAE;IACvB,OAAO,IAAI,EAAE;MACX,MAAMC,GAAkB,GAAGF,KAAK,CAACG,cAAc,EAAE;MACjD,MAAMC,SAA6B,GAAGF,GAAG,CAACG,KAAK;MAC/C,MAAMC,OAAe,GAAGJ,GAAG,CAACK,GAAG;MAC/B,IAAIH,SAAS,KAAKb,MAAM,CAACiB,MAAM,CAACC,IAAI,CAACC,IAAI,EAAE;QACzC;MACF;MACA,QAAQJ,OAAO;QACb;UAAS;YACPN,KAAK,CAACW,IAAI,CAACP,SAAS,CAAC;UACvB;MAAC;MAEHJ,KAAK,CAACY,YAAY,EAAE;IACtB;IACAZ,KAAK,CAACa,aAAa,EAAE;IACrB,OAAO,IAAIrB,QAAQ,EAAE;EACvB;AACF"}
|
|
@@ -5,23 +5,15 @@ import * as ColumnMetaData from './ColumnMetaData';
|
|
|
5
5
|
export class ColumnChunk {
|
|
6
6
|
constructor(args) {
|
|
7
7
|
_defineProperty(this, "file_path", void 0);
|
|
8
|
-
|
|
9
8
|
_defineProperty(this, "file_offset", void 0);
|
|
10
|
-
|
|
11
9
|
_defineProperty(this, "meta_data", void 0);
|
|
12
|
-
|
|
13
10
|
_defineProperty(this, "offset_index_offset", void 0);
|
|
14
|
-
|
|
15
11
|
_defineProperty(this, "offset_index_length", void 0);
|
|
16
|
-
|
|
17
12
|
_defineProperty(this, "column_index_offset", void 0);
|
|
18
|
-
|
|
19
13
|
_defineProperty(this, "column_index_length", void 0);
|
|
20
|
-
|
|
21
14
|
if (args != null && args.file_path != null) {
|
|
22
15
|
this.file_path = args.file_path;
|
|
23
16
|
}
|
|
24
|
-
|
|
25
17
|
if (args != null && args.file_offset != null) {
|
|
26
18
|
if (typeof args.file_offset === 'number') {
|
|
27
19
|
this.file_offset = new Int64(args.file_offset);
|
|
@@ -31,11 +23,9 @@ export class ColumnChunk {
|
|
|
31
23
|
} else {
|
|
32
24
|
throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.UNKNOWN, 'Required field[file_offset] is unset!');
|
|
33
25
|
}
|
|
34
|
-
|
|
35
26
|
if (args != null && args.meta_data != null) {
|
|
36
27
|
this.meta_data = args.meta_data;
|
|
37
28
|
}
|
|
38
|
-
|
|
39
29
|
if (args != null && args.offset_index_offset != null) {
|
|
40
30
|
if (typeof args.offset_index_offset === 'number') {
|
|
41
31
|
this.offset_index_offset = new Int64(args.offset_index_offset);
|
|
@@ -43,11 +33,9 @@ export class ColumnChunk {
|
|
|
43
33
|
this.offset_index_offset = args.offset_index_offset;
|
|
44
34
|
}
|
|
45
35
|
}
|
|
46
|
-
|
|
47
36
|
if (args != null && args.offset_index_length != null) {
|
|
48
37
|
this.offset_index_length = args.offset_index_length;
|
|
49
38
|
}
|
|
50
|
-
|
|
51
39
|
if (args != null && args.column_index_offset != null) {
|
|
52
40
|
if (typeof args.column_index_offset === 'number') {
|
|
53
41
|
this.column_index_offset = new Int64(args.column_index_offset);
|
|
@@ -55,75 +43,61 @@ export class ColumnChunk {
|
|
|
55
43
|
this.column_index_offset = args.column_index_offset;
|
|
56
44
|
}
|
|
57
45
|
}
|
|
58
|
-
|
|
59
46
|
if (args != null && args.column_index_length != null) {
|
|
60
47
|
this.column_index_length = args.column_index_length;
|
|
61
48
|
}
|
|
62
49
|
}
|
|
63
|
-
|
|
64
50
|
write(output) {
|
|
65
51
|
output.writeStructBegin('ColumnChunk');
|
|
66
|
-
|
|
67
52
|
if (this.file_path != null) {
|
|
68
53
|
output.writeFieldBegin('file_path', thrift.Thrift.Type.STRING, 1);
|
|
69
54
|
output.writeString(this.file_path);
|
|
70
55
|
output.writeFieldEnd();
|
|
71
56
|
}
|
|
72
|
-
|
|
73
57
|
if (this.file_offset != null) {
|
|
74
58
|
output.writeFieldBegin('file_offset', thrift.Thrift.Type.I64, 2);
|
|
75
59
|
output.writeI64(this.file_offset);
|
|
76
60
|
output.writeFieldEnd();
|
|
77
61
|
}
|
|
78
|
-
|
|
79
62
|
if (this.meta_data != null) {
|
|
80
63
|
output.writeFieldBegin('meta_data', thrift.Thrift.Type.STRUCT, 3);
|
|
81
64
|
this.meta_data.write(output);
|
|
82
65
|
output.writeFieldEnd();
|
|
83
66
|
}
|
|
84
|
-
|
|
85
67
|
if (this.offset_index_offset != null) {
|
|
86
68
|
output.writeFieldBegin('offset_index_offset', thrift.Thrift.Type.I64, 4);
|
|
87
69
|
output.writeI64(this.offset_index_offset);
|
|
88
70
|
output.writeFieldEnd();
|
|
89
71
|
}
|
|
90
|
-
|
|
91
72
|
if (this.offset_index_length != null) {
|
|
92
73
|
output.writeFieldBegin('offset_index_length', thrift.Thrift.Type.I32, 5);
|
|
93
74
|
output.writeI32(this.offset_index_length);
|
|
94
75
|
output.writeFieldEnd();
|
|
95
76
|
}
|
|
96
|
-
|
|
97
77
|
if (this.column_index_offset != null) {
|
|
98
78
|
output.writeFieldBegin('column_index_offset', thrift.Thrift.Type.I64, 6);
|
|
99
79
|
output.writeI64(this.column_index_offset);
|
|
100
80
|
output.writeFieldEnd();
|
|
101
81
|
}
|
|
102
|
-
|
|
103
82
|
if (this.column_index_length != null) {
|
|
104
83
|
output.writeFieldBegin('column_index_length', thrift.Thrift.Type.I32, 7);
|
|
105
84
|
output.writeI32(this.column_index_length);
|
|
106
85
|
output.writeFieldEnd();
|
|
107
86
|
}
|
|
108
|
-
|
|
109
87
|
output.writeFieldStop();
|
|
110
88
|
output.writeStructEnd();
|
|
111
89
|
return;
|
|
112
90
|
}
|
|
113
|
-
|
|
114
91
|
static read(input) {
|
|
115
92
|
input.readStructBegin();
|
|
116
93
|
let _args = {};
|
|
117
|
-
|
|
118
94
|
while (true) {
|
|
119
95
|
const ret = input.readFieldBegin();
|
|
120
96
|
const fieldType = ret.ftype;
|
|
121
97
|
const fieldId = ret.fid;
|
|
122
|
-
|
|
123
98
|
if (fieldType === thrift.Thrift.Type.STOP) {
|
|
124
99
|
break;
|
|
125
100
|
}
|
|
126
|
-
|
|
127
101
|
switch (fieldId) {
|
|
128
102
|
case 1:
|
|
129
103
|
if (fieldType === thrift.Thrift.Type.STRING) {
|
|
@@ -132,9 +106,7 @@ export class ColumnChunk {
|
|
|
132
106
|
} else {
|
|
133
107
|
input.skip(fieldType);
|
|
134
108
|
}
|
|
135
|
-
|
|
136
109
|
break;
|
|
137
|
-
|
|
138
110
|
case 2:
|
|
139
111
|
if (fieldType === thrift.Thrift.Type.I64) {
|
|
140
112
|
const value_2 = input.readI64();
|
|
@@ -142,9 +114,7 @@ export class ColumnChunk {
|
|
|
142
114
|
} else {
|
|
143
115
|
input.skip(fieldType);
|
|
144
116
|
}
|
|
145
|
-
|
|
146
117
|
break;
|
|
147
|
-
|
|
148
118
|
case 3:
|
|
149
119
|
if (fieldType === thrift.Thrift.Type.STRUCT) {
|
|
150
120
|
const value_3 = ColumnMetaData.ColumnMetaData.read(input);
|
|
@@ -152,9 +122,7 @@ export class ColumnChunk {
|
|
|
152
122
|
} else {
|
|
153
123
|
input.skip(fieldType);
|
|
154
124
|
}
|
|
155
|
-
|
|
156
125
|
break;
|
|
157
|
-
|
|
158
126
|
case 4:
|
|
159
127
|
if (fieldType === thrift.Thrift.Type.I64) {
|
|
160
128
|
const value_4 = input.readI64();
|
|
@@ -162,9 +130,7 @@ export class ColumnChunk {
|
|
|
162
130
|
} else {
|
|
163
131
|
input.skip(fieldType);
|
|
164
132
|
}
|
|
165
|
-
|
|
166
133
|
break;
|
|
167
|
-
|
|
168
134
|
case 5:
|
|
169
135
|
if (fieldType === thrift.Thrift.Type.I32) {
|
|
170
136
|
const value_5 = input.readI32();
|
|
@@ -172,9 +138,7 @@ export class ColumnChunk {
|
|
|
172
138
|
} else {
|
|
173
139
|
input.skip(fieldType);
|
|
174
140
|
}
|
|
175
|
-
|
|
176
141
|
break;
|
|
177
|
-
|
|
178
142
|
case 6:
|
|
179
143
|
if (fieldType === thrift.Thrift.Type.I64) {
|
|
180
144
|
const value_6 = input.readI64();
|
|
@@ -182,9 +146,7 @@ export class ColumnChunk {
|
|
|
182
146
|
} else {
|
|
183
147
|
input.skip(fieldType);
|
|
184
148
|
}
|
|
185
|
-
|
|
186
149
|
break;
|
|
187
|
-
|
|
188
150
|
case 7:
|
|
189
151
|
if (fieldType === thrift.Thrift.Type.I32) {
|
|
190
152
|
const value_7 = input.readI32();
|
|
@@ -192,26 +154,20 @@ export class ColumnChunk {
|
|
|
192
154
|
} else {
|
|
193
155
|
input.skip(fieldType);
|
|
194
156
|
}
|
|
195
|
-
|
|
196
157
|
break;
|
|
197
|
-
|
|
198
158
|
default:
|
|
199
159
|
{
|
|
200
160
|
input.skip(fieldType);
|
|
201
161
|
}
|
|
202
162
|
}
|
|
203
|
-
|
|
204
163
|
input.readFieldEnd();
|
|
205
164
|
}
|
|
206
|
-
|
|
207
165
|
input.readStructEnd();
|
|
208
|
-
|
|
209
166
|
if (_args.file_offset !== undefined) {
|
|
210
167
|
return new ColumnChunk(_args);
|
|
211
168
|
} else {
|
|
212
169
|
throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.UNKNOWN, 'Unable to read ColumnChunk from input');
|
|
213
170
|
}
|
|
214
171
|
}
|
|
215
|
-
|
|
216
172
|
}
|
|
217
173
|
//# sourceMappingURL=ColumnChunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/parquetjs/parquet-thrift/ColumnChunk.ts"],"names":["Int64","thrift","ColumnMetaData","ColumnChunk","constructor","args","file_path","file_offset","Thrift","TProtocolException","TProtocolExceptionType","UNKNOWN","meta_data","offset_index_offset","offset_index_length","column_index_offset","column_index_length","write","output","writeStructBegin","writeFieldBegin","Type","STRING","writeString","writeFieldEnd","I64","writeI64","STRUCT","I32","writeI32","writeFieldStop","writeStructEnd","read","input","readStructBegin","_args","ret","readFieldBegin","fieldType","ftype","fieldId","fid","STOP","value_1","readString","skip","value_2","readI64","value_3","value_4","value_5","readI32","value_6","value_7","readFieldEnd","readStructEnd","undefined"],"mappings":";AAMA,OAAOA,KAAP,MAAkB,YAAlB;AACA,OAAO,KAAKC,MAAZ,MAAwB,QAAxB;AACA,OAAO,KAAKC,cAAZ,MAAgC,kBAAhC;AAUA,OAAO,MAAMC,WAAN,CAAkB;AAQvBC,EAAAA,WAAW,CAACC,IAAD,EAAyB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAClC,QAAIA,IAAI,IAAI,IAAR,IAAgBA,IAAI,CAACC,SAAL,IAAkB,IAAtC,EAA4C;AAC1C,WAAKA,SAAL,GAAiBD,IAAI,CAACC,SAAtB;AACD;;AACD,QAAID,IAAI,IAAI,IAAR,IAAgBA,IAAI,CAACE,WAAL,IAAoB,IAAxC,EAA8C;AAC5C,UAAI,OAAOF,IAAI,CAACE,WAAZ,KAA4B,QAAhC,EAA0C;AACxC,aAAKA,WAAL,GAAmB,IAAIP,KAAJ,CAAUK,IAAI,CAACE,WAAf,CAAnB;AACD,OAFD,MAEO;AACL,aAAKA,WAAL,GAAmBF,IAAI,CAACE,WAAxB;AACD;AACF,KAND,MAMO;AACL,YAAM,IAAIN,MAAM,CAACO,MAAP,CAAcC,kBAAlB,CACJR,MAAM,CAACO,MAAP,CAAcE,sBAAd,CAAqCC,OADjC,EAEJ,uCAFI,CAAN;AAID;;AACD,QAAIN,IAAI,IAAI,IAAR,IAAgBA,IAAI,CAACO,SAAL,IAAkB,IAAtC,EAA4C;AAC1C,WAAKA,SAAL,GAAiBP,IAAI,CAACO,SAAtB;AACD;;AACD,QAAIP,IAAI,IAAI,IAAR,IAAgBA,IAAI,CAACQ,mBAAL,IAA4B,IAAhD,EAAsD;AACpD,UAAI,OAAOR,IAAI,CAACQ,mBAAZ,KAAoC,QAAxC,EAAkD;AAChD,aAAKA,mBAAL,GAA2B,IAAIb,KAAJ,CAAUK,IAAI,CAACQ,mBAAf,CAA3B;AACD,OAFD,MAEO;AACL,aAAKA,mBAAL,GAA2BR,IAAI,CAACQ,mBAAhC;AACD;AACF;;AACD,QAAIR,IAAI,IAAI,IAAR,IAAgBA,IAAI,CAACS,mBAAL,IAA4B,IAAhD,EAAsD;AACpD,WAAKA,mBAAL,GAA2BT,IAAI,CAACS,mBAAhC;AACD;;AACD,QAAIT,IAAI,IAAI,IAAR,IAAgBA,IAAI,CAACU,mBAAL,IAA4B,IAAhD,EAAsD;AACpD,UAAI,OAAOV,IAAI,CAACU,mBAAZ,KAAoC,QAAxC,EAAkD;AAChD,aAAKA,mBAAL,GAA2B,IAAIf,KAAJ,CAAUK,IAAI,CAACU,mBAAf,CAA3B;AACD,OAFD,MAEO;AACL,aAAKA,mBAAL,GAA2BV,IAAI,CAACU,mBAAhC;AACD;AACF;;AACD,QAAIV,IAAI,IAAI,IAAR,IAAgBA,IAAI,CAACW,mBAAL,IAA4B,IAAhD,EAAsD;AACpD,WAAKA,mBAAL,GAA2BX,IAAI,CAACW,mBAAhC;AACD;AACF;;AACMC,EAAAA,KAAK,CAACC,MAAD,EAAiC;AAC3CA,IAAAA,MAAM,CAACC,gBAAP,CAAwB,aAAxB;;AACA,QAAI,KAAKb,SAAL,IAAkB,IAAtB,EAA4B;AAC1BY,MAAAA,MAAM,CAACE,eAAP,CAAuB,WAAvB,EAAoCnB,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBC,MAAvD,EAA+D,CAA/D;AACAJ,MAAAA,MAAM,CAACK,WAAP,CAAmB,KAAKjB,SAAxB;AACAY,MAAAA,MAAM,CAACM,aAAP;AACD;;AACD,QAAI,KAAKjB,WAAL,IAAoB,IAAxB,EAA8B;AAC5BW,MAAAA,MAAM,CAACE,eAAP,CAAuB,aAAvB,EAAsCnB,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBI,GAAzD,EAA8D,CAA9D;AACAP,MAAAA,MAAM,CAACQ,QAAP,CAAgB,KAAKnB,WAArB;AACAW,MAAAA,MAAM,CAACM,aAAP;AACD;;AACD,QAAI,KAAKZ,SAAL,IAAkB,IAAtB,EAA4B;AAC1BM,MAAAA,MAAM,CAACE,eAAP,CAAuB,WAAvB,EAAoCnB,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBM,MAAvD,EAA+D,CAA/D;AACA,WAAKf,SAAL,CAAeK,KAAf,CAAqBC,MAArB;AACAA,MAAAA,MAAM,CAACM,aAAP;AACD;;AACD,QAAI,KAAKX,mBAAL,IAA4B,IAAhC,EAAsC;AACpCK,MAAAA,MAAM,CAACE,eAAP,CAAuB,qBAAvB,EAA8CnB,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBI,GAAjE,EAAsE,CAAtE;AACAP,MAAAA,MAAM,CAACQ,QAAP,CAAgB,KAAKb,mBAArB;AACAK,MAAAA,MAAM,CAACM,aAAP;AACD;;AACD,QAAI,KAAKV,mBAAL,IAA4B,IAAhC,EAAsC;AACpCI,MAAAA,MAAM,CAACE,eAAP,CAAuB,qBAAvB,EAA8CnB,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBO,GAAjE,EAAsE,CAAtE;AACAV,MAAAA,MAAM,CAACW,QAAP,CAAgB,KAAKf,mBAArB;AACAI,MAAAA,MAAM,CAACM,aAAP;AACD;;AACD,QAAI,KAAKT,mBAAL,IAA4B,IAAhC,EAAsC;AACpCG,MAAAA,MAAM,CAACE,eAAP,CAAuB,qBAAvB,EAA8CnB,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBI,GAAjE,EAAsE,CAAtE;AACAP,MAAAA,MAAM,CAACQ,QAAP,CAAgB,KAAKX,mBAArB;AACAG,MAAAA,MAAM,CAACM,aAAP;AACD;;AACD,QAAI,KAAKR,mBAAL,IAA4B,IAAhC,EAAsC;AACpCE,MAAAA,MAAM,CAACE,eAAP,CAAuB,qBAAvB,EAA8CnB,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBO,GAAjE,EAAsE,CAAtE;AACAV,MAAAA,MAAM,CAACW,QAAP,CAAgB,KAAKb,mBAArB;AACAE,MAAAA,MAAM,CAACM,aAAP;AACD;;AACDN,IAAAA,MAAM,CAACY,cAAP;AACAZ,IAAAA,MAAM,CAACa,cAAP;AACA;AACD;;AACiB,SAAJC,IAAI,CAACC,KAAD,EAAuC;AACvDA,IAAAA,KAAK,CAACC,eAAN;AACA,QAAIC,KAAU,GAAG,EAAjB;;AACA,WAAO,IAAP,EAAa;AACX,YAAMC,GAAkB,GAAGH,KAAK,CAACI,cAAN,EAA3B;AACA,YAAMC,SAA6B,GAAGF,GAAG,CAACG,KAA1C;AACA,YAAMC,OAAe,GAAGJ,GAAG,CAACK,GAA5B;;AACA,UAAIH,SAAS,KAAKrC,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBqB,IAArC,EAA2C;AACzC;AACD;;AACD,cAAQF,OAAR;AACE,aAAK,CAAL;AACE,cAAIF,SAAS,KAAKrC,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBC,MAArC,EAA6C;AAC3C,kBAAMqB,OAAe,GAAGV,KAAK,CAACW,UAAN,EAAxB;AACAT,YAAAA,KAAK,CAAC7B,SAAN,GAAkBqC,OAAlB;AACD,WAHD,MAGO;AACLV,YAAAA,KAAK,CAACY,IAAN,CAAWP,SAAX;AACD;;AACD;;AACF,aAAK,CAAL;AACE,cAAIA,SAAS,KAAKrC,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBI,GAArC,EAA0C;AACxC,kBAAMqB,OAAc,GAAGb,KAAK,CAACc,OAAN,EAAvB;AACAZ,YAAAA,KAAK,CAAC5B,WAAN,GAAoBuC,OAApB;AACD,WAHD,MAGO;AACLb,YAAAA,KAAK,CAACY,IAAN,CAAWP,SAAX;AACD;;AACD;;AACF,aAAK,CAAL;AACE,cAAIA,SAAS,KAAKrC,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBM,MAArC,EAA6C;AAC3C,kBAAMqB,OAAsC,GAC1C9C,cAAc,CAACA,cAAf,CAA8B8B,IAA9B,CAAmCC,KAAnC,CADF;AAEAE,YAAAA,KAAK,CAACvB,SAAN,GAAkBoC,OAAlB;AACD,WAJD,MAIO;AACLf,YAAAA,KAAK,CAACY,IAAN,CAAWP,SAAX;AACD;;AACD;;AACF,aAAK,CAAL;AACE,cAAIA,SAAS,KAAKrC,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBI,GAArC,EAA0C;AACxC,kBAAMwB,OAAc,GAAGhB,KAAK,CAACc,OAAN,EAAvB;AACAZ,YAAAA,KAAK,CAACtB,mBAAN,GAA4BoC,OAA5B;AACD,WAHD,MAGO;AACLhB,YAAAA,KAAK,CAACY,IAAN,CAAWP,SAAX;AACD;;AACD;;AACF,aAAK,CAAL;AACE,cAAIA,SAAS,KAAKrC,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBO,GAArC,EAA0C;AACxC,kBAAMsB,OAAe,GAAGjB,KAAK,CAACkB,OAAN,EAAxB;AACAhB,YAAAA,KAAK,CAACrB,mBAAN,GAA4BoC,OAA5B;AACD,WAHD,MAGO;AACLjB,YAAAA,KAAK,CAACY,IAAN,CAAWP,SAAX;AACD;;AACD;;AACF,aAAK,CAAL;AACE,cAAIA,SAAS,KAAKrC,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBI,GAArC,EAA0C;AACxC,kBAAM2B,OAAc,GAAGnB,KAAK,CAACc,OAAN,EAAvB;AACAZ,YAAAA,KAAK,CAACpB,mBAAN,GAA4BqC,OAA5B;AACD,WAHD,MAGO;AACLnB,YAAAA,KAAK,CAACY,IAAN,CAAWP,SAAX;AACD;;AACD;;AACF,aAAK,CAAL;AACE,cAAIA,SAAS,KAAKrC,MAAM,CAACO,MAAP,CAAca,IAAd,CAAmBO,GAArC,EAA0C;AACxC,kBAAMyB,OAAe,GAAGpB,KAAK,CAACkB,OAAN,EAAxB;AACAhB,YAAAA,KAAK,CAACnB,mBAAN,GAA4BqC,OAA5B;AACD,WAHD,MAGO;AACLpB,YAAAA,KAAK,CAACY,IAAN,CAAWP,SAAX;AACD;;AACD;;AACF;AAAS;AACPL,YAAAA,KAAK,CAACY,IAAN,CAAWP,SAAX;AACD;AA5DH;;AA8DAL,MAAAA,KAAK,CAACqB,YAAN;AACD;;AACDrB,IAAAA,KAAK,CAACsB,aAAN;;AACA,QAAIpB,KAAK,CAAC5B,WAAN,KAAsBiD,SAA1B,EAAqC;AACnC,aAAO,IAAIrD,WAAJ,CAAgBgC,KAAhB,CAAP;AACD,KAFD,MAEO;AACL,YAAM,IAAIlC,MAAM,CAACO,MAAP,CAAcC,kBAAlB,CACJR,MAAM,CAACO,MAAP,CAAcE,sBAAd,CAAqCC,OADjC,EAEJ,uCAFI,CAAN;AAID;AACF;;AA5KsB","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport Int64 from 'node-int64';\nimport * as thrift from 'thrift';\nimport * as ColumnMetaData from './ColumnMetaData';\nexport interface IColumnChunkArgs {\n file_path?: string;\n file_offset: number | Int64;\n meta_data?: ColumnMetaData.ColumnMetaData;\n offset_index_offset?: number | Int64;\n offset_index_length?: number;\n column_index_offset?: number | Int64;\n column_index_length?: number;\n}\nexport class ColumnChunk {\n public file_path?: string;\n public file_offset: Int64;\n public meta_data?: ColumnMetaData.ColumnMetaData;\n public offset_index_offset?: Int64;\n public offset_index_length?: number;\n public column_index_offset?: Int64;\n public column_index_length?: number;\n constructor(args: IColumnChunkArgs) {\n if (args != null && args.file_path != null) {\n this.file_path = args.file_path;\n }\n if (args != null && args.file_offset != null) {\n if (typeof args.file_offset === 'number') {\n this.file_offset = new Int64(args.file_offset);\n } else {\n this.file_offset = args.file_offset;\n }\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[file_offset] is unset!'\n );\n }\n if (args != null && args.meta_data != null) {\n this.meta_data = args.meta_data;\n }\n if (args != null && args.offset_index_offset != null) {\n if (typeof args.offset_index_offset === 'number') {\n this.offset_index_offset = new Int64(args.offset_index_offset);\n } else {\n this.offset_index_offset = args.offset_index_offset;\n }\n }\n if (args != null && args.offset_index_length != null) {\n this.offset_index_length = args.offset_index_length;\n }\n if (args != null && args.column_index_offset != null) {\n if (typeof args.column_index_offset === 'number') {\n this.column_index_offset = new Int64(args.column_index_offset);\n } else {\n this.column_index_offset = args.column_index_offset;\n }\n }\n if (args != null && args.column_index_length != null) {\n this.column_index_length = args.column_index_length;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('ColumnChunk');\n if (this.file_path != null) {\n output.writeFieldBegin('file_path', thrift.Thrift.Type.STRING, 1);\n output.writeString(this.file_path);\n output.writeFieldEnd();\n }\n if (this.file_offset != null) {\n output.writeFieldBegin('file_offset', thrift.Thrift.Type.I64, 2);\n output.writeI64(this.file_offset);\n output.writeFieldEnd();\n }\n if (this.meta_data != null) {\n output.writeFieldBegin('meta_data', thrift.Thrift.Type.STRUCT, 3);\n this.meta_data.write(output);\n output.writeFieldEnd();\n }\n if (this.offset_index_offset != null) {\n output.writeFieldBegin('offset_index_offset', thrift.Thrift.Type.I64, 4);\n output.writeI64(this.offset_index_offset);\n output.writeFieldEnd();\n }\n if (this.offset_index_length != null) {\n output.writeFieldBegin('offset_index_length', thrift.Thrift.Type.I32, 5);\n output.writeI32(this.offset_index_length);\n output.writeFieldEnd();\n }\n if (this.column_index_offset != null) {\n output.writeFieldBegin('column_index_offset', thrift.Thrift.Type.I64, 6);\n output.writeI64(this.column_index_offset);\n output.writeFieldEnd();\n }\n if (this.column_index_length != null) {\n output.writeFieldBegin('column_index_length', thrift.Thrift.Type.I32, 7);\n output.writeI32(this.column_index_length);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): ColumnChunk {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_1: string = input.readString();\n _args.file_path = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_2: Int64 = input.readI64();\n _args.file_offset = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_3: ColumnMetaData.ColumnMetaData =\n ColumnMetaData.ColumnMetaData.read(input);\n _args.meta_data = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_4: Int64 = input.readI64();\n _args.offset_index_offset = value_4;\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_5: number = input.readI32();\n _args.offset_index_length = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n case 6:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_6: Int64 = input.readI64();\n _args.column_index_offset = value_6;\n } else {\n input.skip(fieldType);\n }\n break;\n case 7:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_7: number = input.readI32();\n _args.column_index_length = value_7;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_args.file_offset !== undefined) {\n return new ColumnChunk(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read ColumnChunk from input'\n );\n }\n }\n}\n"],"file":"ColumnChunk.js"}
|
|
1
|
+
{"version":3,"file":"ColumnChunk.js","names":["Int64","thrift","ColumnMetaData","ColumnChunk","constructor","args","file_path","file_offset","Thrift","TProtocolException","TProtocolExceptionType","UNKNOWN","meta_data","offset_index_offset","offset_index_length","column_index_offset","column_index_length","write","output","writeStructBegin","writeFieldBegin","Type","STRING","writeString","writeFieldEnd","I64","writeI64","STRUCT","I32","writeI32","writeFieldStop","writeStructEnd","read","input","readStructBegin","_args","ret","readFieldBegin","fieldType","ftype","fieldId","fid","STOP","value_1","readString","skip","value_2","readI64","value_3","value_4","value_5","readI32","value_6","value_7","readFieldEnd","readStructEnd","undefined"],"sources":["../../../../src/parquetjs/parquet-thrift/ColumnChunk.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport Int64 from 'node-int64';\nimport * as thrift from 'thrift';\nimport * as ColumnMetaData from './ColumnMetaData';\nexport interface IColumnChunkArgs {\n file_path?: string;\n file_offset: number | Int64;\n meta_data?: ColumnMetaData.ColumnMetaData;\n offset_index_offset?: number | Int64;\n offset_index_length?: number;\n column_index_offset?: number | Int64;\n column_index_length?: number;\n}\nexport class ColumnChunk {\n public file_path?: string;\n public file_offset: Int64;\n public meta_data?: ColumnMetaData.ColumnMetaData;\n public offset_index_offset?: Int64;\n public offset_index_length?: number;\n public column_index_offset?: Int64;\n public column_index_length?: number;\n constructor(args: IColumnChunkArgs) {\n if (args != null && args.file_path != null) {\n this.file_path = args.file_path;\n }\n if (args != null && args.file_offset != null) {\n if (typeof args.file_offset === 'number') {\n this.file_offset = new Int64(args.file_offset);\n } else {\n this.file_offset = args.file_offset;\n }\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Required field[file_offset] is unset!'\n );\n }\n if (args != null && args.meta_data != null) {\n this.meta_data = args.meta_data;\n }\n if (args != null && args.offset_index_offset != null) {\n if (typeof args.offset_index_offset === 'number') {\n this.offset_index_offset = new Int64(args.offset_index_offset);\n } else {\n this.offset_index_offset = args.offset_index_offset;\n }\n }\n if (args != null && args.offset_index_length != null) {\n this.offset_index_length = args.offset_index_length;\n }\n if (args != null && args.column_index_offset != null) {\n if (typeof args.column_index_offset === 'number') {\n this.column_index_offset = new Int64(args.column_index_offset);\n } else {\n this.column_index_offset = args.column_index_offset;\n }\n }\n if (args != null && args.column_index_length != null) {\n this.column_index_length = args.column_index_length;\n }\n }\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('ColumnChunk');\n if (this.file_path != null) {\n output.writeFieldBegin('file_path', thrift.Thrift.Type.STRING, 1);\n output.writeString(this.file_path);\n output.writeFieldEnd();\n }\n if (this.file_offset != null) {\n output.writeFieldBegin('file_offset', thrift.Thrift.Type.I64, 2);\n output.writeI64(this.file_offset);\n output.writeFieldEnd();\n }\n if (this.meta_data != null) {\n output.writeFieldBegin('meta_data', thrift.Thrift.Type.STRUCT, 3);\n this.meta_data.write(output);\n output.writeFieldEnd();\n }\n if (this.offset_index_offset != null) {\n output.writeFieldBegin('offset_index_offset', thrift.Thrift.Type.I64, 4);\n output.writeI64(this.offset_index_offset);\n output.writeFieldEnd();\n }\n if (this.offset_index_length != null) {\n output.writeFieldBegin('offset_index_length', thrift.Thrift.Type.I32, 5);\n output.writeI32(this.offset_index_length);\n output.writeFieldEnd();\n }\n if (this.column_index_offset != null) {\n output.writeFieldBegin('column_index_offset', thrift.Thrift.Type.I64, 6);\n output.writeI64(this.column_index_offset);\n output.writeFieldEnd();\n }\n if (this.column_index_length != null) {\n output.writeFieldBegin('column_index_length', thrift.Thrift.Type.I32, 7);\n output.writeI32(this.column_index_length);\n output.writeFieldEnd();\n }\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): ColumnChunk {\n input.readStructBegin();\n let _args: any = {};\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n case 1:\n if (fieldType === thrift.Thrift.Type.STRING) {\n const value_1: string = input.readString();\n _args.file_path = value_1;\n } else {\n input.skip(fieldType);\n }\n break;\n case 2:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_2: Int64 = input.readI64();\n _args.file_offset = value_2;\n } else {\n input.skip(fieldType);\n }\n break;\n case 3:\n if (fieldType === thrift.Thrift.Type.STRUCT) {\n const value_3: ColumnMetaData.ColumnMetaData =\n ColumnMetaData.ColumnMetaData.read(input);\n _args.meta_data = value_3;\n } else {\n input.skip(fieldType);\n }\n break;\n case 4:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_4: Int64 = input.readI64();\n _args.offset_index_offset = value_4;\n } else {\n input.skip(fieldType);\n }\n break;\n case 5:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_5: number = input.readI32();\n _args.offset_index_length = value_5;\n } else {\n input.skip(fieldType);\n }\n break;\n case 6:\n if (fieldType === thrift.Thrift.Type.I64) {\n const value_6: Int64 = input.readI64();\n _args.column_index_offset = value_6;\n } else {\n input.skip(fieldType);\n }\n break;\n case 7:\n if (fieldType === thrift.Thrift.Type.I32) {\n const value_7: number = input.readI32();\n _args.column_index_length = value_7;\n } else {\n input.skip(fieldType);\n }\n break;\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n if (_args.file_offset !== undefined) {\n return new ColumnChunk(_args);\n } else {\n throw new thrift.Thrift.TProtocolException(\n thrift.Thrift.TProtocolExceptionType.UNKNOWN,\n 'Unable to read ColumnChunk from input'\n );\n }\n }\n}\n"],"mappings":"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"}
|