@loaders.gl/parquet 3.4.0-alpha.2 → 3.4.0-alpha.3
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 +21 -28
- package/dist/dist.min.js.map +3 -3
- package/dist/es5/constants.js +0 -2
- package/dist/es5/constants.js.map +1 -1
- package/dist/es5/index.js +0 -3
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/arrow/convert-row-group-to-columns.js +0 -1
- package/dist/es5/lib/arrow/convert-row-group-to-columns.js.map +1 -1
- package/dist/es5/lib/arrow/convert-schema-from-parquet.js +1 -1
- package/dist/es5/lib/arrow/convert-schema-from-parquet.js.map +1 -1
- package/dist/es5/lib/arrow/convert-schema-to-parquet.js +0 -2
- package/dist/es5/lib/arrow/convert-schema-to-parquet.js.map +1 -1
- package/dist/es5/lib/geo/decode-geo-metadata.js +0 -5
- package/dist/es5/lib/geo/decode-geo-metadata.js.map +1 -1
- package/dist/es5/lib/geo/geoparquet-schema.js.map +1 -1
- package/dist/es5/lib/parsers/parse-parquet-to-columns.js +115 -119
- package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +1 -1
- package/dist/es5/lib/parsers/parse-parquet-to-rows.js +105 -109
- package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +1 -1
- package/dist/es5/lib/wasm/encode-parquet-wasm.js +14 -16
- package/dist/es5/lib/wasm/encode-parquet-wasm.js.map +1 -1
- package/dist/es5/lib/wasm/load-wasm/index.js.map +1 -1
- package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js +16 -18
- 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 +6 -8
- package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js.map +1 -1
- package/dist/es5/lib/wasm/parse-parquet-wasm.js +16 -18
- package/dist/es5/lib/wasm/parse-parquet-wasm.js.map +1 -1
- package/dist/es5/parquet-loader.js +1 -2
- package/dist/es5/parquet-loader.js.map +1 -1
- package/dist/es5/parquet-wasm-loader.js +1 -2
- package/dist/es5/parquet-wasm-loader.js.map +1 -1
- package/dist/es5/parquet-wasm-writer.js +1 -1
- package/dist/es5/parquet-wasm-writer.js.map +1 -1
- package/dist/es5/parquet-writer.js +1 -1
- package/dist/es5/parquet-writer.js.map +1 -1
- package/dist/es5/parquetjs/codecs/dictionary.js.map +1 -1
- package/dist/es5/parquetjs/codecs/index.js +0 -1
- package/dist/es5/parquetjs/codecs/index.js.map +1 -1
- package/dist/es5/parquetjs/codecs/plain.js +0 -3
- package/dist/es5/parquetjs/codecs/plain.js.map +1 -1
- package/dist/es5/parquetjs/codecs/rle.js +0 -4
- package/dist/es5/parquetjs/codecs/rle.js.map +1 -1
- package/dist/es5/parquetjs/compression.js +48 -58
- package/dist/es5/parquetjs/compression.js.map +1 -1
- package/dist/es5/parquetjs/encoder/parquet-encoder.js +301 -345
- package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +4 -4
- package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +4 -4
- package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +4 -4
- package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/Encoding.js +4 -4
- package/dist/es5/parquetjs/parquet-thrift/Encoding.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +4 -4
- package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/PageType.js +4 -4
- package/dist/es5/parquetjs/parquet-thrift/PageType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/Type.js +4 -4
- package/dist/es5/parquetjs/parquet-thrift/Type.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
- package/dist/es5/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/es5/parquetjs/parser/decoders.js +244 -261
- package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
- package/dist/es5/parquetjs/parser/parquet-reader.js +396 -428
- package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/es5/parquetjs/schema/declare.js +1 -3
- package/dist/es5/parquetjs/schema/declare.js.map +1 -1
- package/dist/es5/parquetjs/schema/schema.js +2 -12
- package/dist/es5/parquetjs/schema/schema.js.map +1 -1
- package/dist/es5/parquetjs/schema/shred.js +2 -14
- package/dist/es5/parquetjs/schema/shred.js.map +1 -1
- package/dist/es5/parquetjs/schema/types.js +6 -11
- package/dist/es5/parquetjs/schema/types.js.map +1 -1
- package/dist/es5/parquetjs/utils/file-utils.js +0 -1
- package/dist/es5/parquetjs/utils/file-utils.js.map +1 -1
- package/dist/es5/parquetjs/utils/read-utils.js +0 -7
- package/dist/es5/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/es5/workers/parquet-worker.js.map +1 -1
- package/dist/esm/bundle.js +0 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/constants.js +0 -3
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/index.js +0 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/arrow/convert-row-group-to-columns.js +0 -2
- package/dist/esm/lib/arrow/convert-row-group-to-columns.js.map +1 -1
- package/dist/esm/lib/arrow/convert-schema-from-parquet.js +0 -2
- package/dist/esm/lib/arrow/convert-schema-from-parquet.js.map +1 -1
- package/dist/esm/lib/arrow/convert-schema-to-parquet.js +0 -3
- package/dist/esm/lib/arrow/convert-schema-to-parquet.js.map +1 -1
- package/dist/esm/lib/geo/decode-geo-metadata.js +0 -6
- package/dist/esm/lib/geo/decode-geo-metadata.js.map +1 -1
- package/dist/esm/lib/geo/geoparquet-schema.js +0 -2
- package/dist/esm/lib/geo/geoparquet-schema.js.map +1 -1
- package/dist/esm/lib/parsers/parse-parquet-to-columns.js +0 -2
- package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +1 -1
- package/dist/esm/lib/parsers/parse-parquet-to-rows.js +0 -1
- package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +1 -1
- package/dist/esm/lib/wasm/encode-parquet-wasm.js +0 -1
- package/dist/esm/lib/wasm/encode-parquet-wasm.js.map +1 -1
- package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js +0 -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 +0 -3
- package/dist/esm/lib/wasm/parse-parquet-wasm.js.map +1 -1
- package/dist/esm/parquet-loader.js +1 -3
- package/dist/esm/parquet-loader.js.map +1 -1
- package/dist/esm/parquet-wasm-loader.js +1 -3
- package/dist/esm/parquet-wasm-loader.js.map +1 -1
- package/dist/esm/parquet-wasm-writer.js +1 -2
- package/dist/esm/parquet-wasm-writer.js.map +1 -1
- package/dist/esm/parquet-writer.js +1 -2
- package/dist/esm/parquet-writer.js.map +1 -1
- package/dist/esm/parquetjs/codecs/dictionary.js.map +1 -1
- package/dist/esm/parquetjs/codecs/index.js +0 -2
- package/dist/esm/parquetjs/codecs/index.js.map +1 -1
- package/dist/esm/parquetjs/codecs/plain.js +0 -4
- package/dist/esm/parquetjs/codecs/plain.js.map +1 -1
- package/dist/esm/parquetjs/codecs/rle.js +0 -6
- package/dist/esm/parquetjs/codecs/rle.js.map +1 -1
- package/dist/esm/parquetjs/compression.js +0 -9
- package/dist/esm/parquetjs/compression.js.map +1 -1
- package/dist/esm/parquetjs/encoder/parquet-encoder.js +0 -38
- package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js +3 -4
- package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/BsonType.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/BsonType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js +3 -4
- package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js +3 -4
- package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/DateType.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/DateType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/Encoding.js +3 -4
- package/dist/esm/parquetjs/parquet-thrift/Encoding.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/EnumType.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/EnumType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js +3 -4
- package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/IntType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/JsonType.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/JsonType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/ListType.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/ListType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/MapType.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/MapType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/NullType.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/NullType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/PageType.js +3 -4
- package/dist/esm/parquetjs/parquet-thrift/PageType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/Statistics.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/StringType.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/StringType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/TimeType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/Type.js +3 -4
- package/dist/esm/parquetjs/parquet-thrift/Type.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/UUIDType.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
- package/dist/esm/parquetjs/parquet-thrift/index.js +0 -1
- package/dist/esm/parquetjs/parquet-thrift/index.js.map +1 -1
- package/dist/esm/parquetjs/parser/decoders.js +1 -18
- package/dist/esm/parquetjs/parser/decoders.js.map +1 -1
- package/dist/esm/parquetjs/parser/parquet-reader.js +0 -13
- package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -1
- package/dist/esm/parquetjs/schema/declare.js +0 -2
- package/dist/esm/parquetjs/schema/declare.js.map +1 -1
- package/dist/esm/parquetjs/schema/schema.js +0 -10
- package/dist/esm/parquetjs/schema/schema.js.map +1 -1
- package/dist/esm/parquetjs/schema/shred.js +1 -15
- package/dist/esm/parquetjs/schema/shred.js.map +1 -1
- package/dist/esm/parquetjs/schema/types.js +6 -10
- package/dist/esm/parquetjs/schema/types.js.map +1 -1
- package/dist/esm/parquetjs/utils/file-utils.js +0 -1
- package/dist/esm/parquetjs/utils/file-utils.js.map +1 -1
- package/dist/esm/parquetjs/utils/read-utils.js +0 -8
- package/dist/esm/parquetjs/utils/read-utils.js.map +1 -1
- package/dist/parquet-worker.js +25 -32
- package/dist/parquet-worker.js.map +3 -3
- package/dist/parquetjs/schema/types.js +4 -6
- package/package.json +6 -7
- package/src/parquetjs/schema/types.ts +4 -3
|
@@ -22,14 +22,11 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
22
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
23
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
24
24
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
25
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
25
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
26
26
|
var PARQUET_MAGIC = 'PAR1';
|
|
27
|
-
|
|
28
27
|
var PARQUET_VERSION = 1;
|
|
29
|
-
|
|
30
28
|
var PARQUET_DEFAULT_PAGE_SIZE = 8192;
|
|
31
29
|
var PARQUET_DEFAULT_ROW_GROUP_SIZE = 4096;
|
|
32
|
-
|
|
33
30
|
var PARQUET_RDLVL_TYPE = 'INT32';
|
|
34
31
|
var PARQUET_RDLVL_ENCODING = 'RLE';
|
|
35
32
|
var ParquetEncoder = function () {
|
|
@@ -47,7 +44,6 @@ var ParquetEncoder = function () {
|
|
|
47
44
|
this.rowGroupSize = opts.rowGroupSize || PARQUET_DEFAULT_ROW_GROUP_SIZE;
|
|
48
45
|
this.closed = false;
|
|
49
46
|
this.userMetadata = {};
|
|
50
|
-
|
|
51
47
|
this.writeHeader();
|
|
52
48
|
}
|
|
53
49
|
(0, _createClass2.default)(ParquetEncoder, [{
|
|
@@ -55,26 +51,24 @@ var ParquetEncoder = function () {
|
|
|
55
51
|
value: function () {
|
|
56
52
|
var _writeHeader = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
57
53
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
58
|
-
while (1) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return _context.stop();
|
|
77
|
-
}
|
|
54
|
+
while (1) switch (_context.prev = _context.next) {
|
|
55
|
+
case 0:
|
|
56
|
+
_context.prev = 0;
|
|
57
|
+
_context.next = 3;
|
|
58
|
+
return this.envelopeWriter.writeHeader();
|
|
59
|
+
case 3:
|
|
60
|
+
_context.next = 10;
|
|
61
|
+
break;
|
|
62
|
+
case 5:
|
|
63
|
+
_context.prev = 5;
|
|
64
|
+
_context.t0 = _context["catch"](0);
|
|
65
|
+
_context.next = 9;
|
|
66
|
+
return this.envelopeWriter.close();
|
|
67
|
+
case 9:
|
|
68
|
+
throw _context.t0;
|
|
69
|
+
case 10:
|
|
70
|
+
case "end":
|
|
71
|
+
return _context.stop();
|
|
78
72
|
}
|
|
79
73
|
}, _callee, this, [[0, 5]]);
|
|
80
74
|
}));
|
|
@@ -88,23 +82,21 @@ var ParquetEncoder = function () {
|
|
|
88
82
|
value: function () {
|
|
89
83
|
var _appendRow = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(row) {
|
|
90
84
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
91
|
-
while (1) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return _context2.stop();
|
|
107
|
-
}
|
|
85
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
86
|
+
case 0:
|
|
87
|
+
if (!this.closed) {
|
|
88
|
+
_context2.next = 2;
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
throw new Error('writer was closed');
|
|
92
|
+
case 2:
|
|
93
|
+
Shred.shredRecord(this.schema, row, this.rowBuffer);
|
|
94
|
+
if (this.rowBuffer.rowCount >= this.rowGroupSize) {
|
|
95
|
+
this.rowBuffer = {};
|
|
96
|
+
}
|
|
97
|
+
case 4:
|
|
98
|
+
case "end":
|
|
99
|
+
return _context2.stop();
|
|
108
100
|
}
|
|
109
101
|
}, _callee2, this);
|
|
110
102
|
}));
|
|
@@ -118,33 +110,30 @@ var ParquetEncoder = function () {
|
|
|
118
110
|
value: function () {
|
|
119
111
|
var _close = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(callback) {
|
|
120
112
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
121
|
-
while (1) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
case "end":
|
|
146
|
-
return _context3.stop();
|
|
147
|
-
}
|
|
113
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
114
|
+
case 0:
|
|
115
|
+
if (!this.closed) {
|
|
116
|
+
_context3.next = 2;
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
throw new Error('writer was closed');
|
|
120
|
+
case 2:
|
|
121
|
+
this.closed = true;
|
|
122
|
+
if (this.rowBuffer.rowCount > 0 || this.rowBuffer.rowCount >= this.rowGroupSize) {
|
|
123
|
+
this.rowBuffer = {};
|
|
124
|
+
}
|
|
125
|
+
_context3.next = 6;
|
|
126
|
+
return this.envelopeWriter.writeFooter(this.userMetadata);
|
|
127
|
+
case 6:
|
|
128
|
+
_context3.next = 8;
|
|
129
|
+
return this.envelopeWriter.close();
|
|
130
|
+
case 8:
|
|
131
|
+
if (callback) {
|
|
132
|
+
callback();
|
|
133
|
+
}
|
|
134
|
+
case 9:
|
|
135
|
+
case "end":
|
|
136
|
+
return _context3.stop();
|
|
148
137
|
}
|
|
149
138
|
}, _callee3, this);
|
|
150
139
|
}));
|
|
@@ -155,22 +144,17 @@ var ParquetEncoder = function () {
|
|
|
155
144
|
}()
|
|
156
145
|
}, {
|
|
157
146
|
key: "setMetadata",
|
|
158
|
-
value:
|
|
159
|
-
function setMetadata(key, value) {
|
|
147
|
+
value: function setMetadata(key, value) {
|
|
160
148
|
this.userMetadata[String(key)] = String(value);
|
|
161
149
|
}
|
|
162
|
-
|
|
163
150
|
}, {
|
|
164
151
|
key: "setRowGroupSize",
|
|
165
|
-
value:
|
|
166
|
-
function setRowGroupSize(cnt) {
|
|
152
|
+
value: function setRowGroupSize(cnt) {
|
|
167
153
|
this.rowGroupSize = cnt;
|
|
168
154
|
}
|
|
169
|
-
|
|
170
155
|
}, {
|
|
171
156
|
key: "setPageSize",
|
|
172
|
-
value:
|
|
173
|
-
function setPageSize(cnt) {
|
|
157
|
+
value: function setPageSize(cnt) {
|
|
174
158
|
this.envelopeWriter.setPageSize(cnt);
|
|
175
159
|
}
|
|
176
160
|
}], [{
|
|
@@ -179,18 +163,16 @@ var ParquetEncoder = function () {
|
|
|
179
163
|
var _openFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(schema, path, opts) {
|
|
180
164
|
var outputStream;
|
|
181
165
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
182
|
-
while (1) {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
return _context4.stop();
|
|
193
|
-
}
|
|
166
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
167
|
+
case 0:
|
|
168
|
+
_context4.next = 2;
|
|
169
|
+
return (0, _fileUtils.osopen)(path, opts);
|
|
170
|
+
case 2:
|
|
171
|
+
outputStream = _context4.sent;
|
|
172
|
+
return _context4.abrupt("return", ParquetEncoder.openStream(schema, outputStream, opts));
|
|
173
|
+
case 4:
|
|
174
|
+
case "end":
|
|
175
|
+
return _context4.stop();
|
|
194
176
|
}
|
|
195
177
|
}, _callee4);
|
|
196
178
|
}));
|
|
@@ -207,19 +189,17 @@ var ParquetEncoder = function () {
|
|
|
207
189
|
envelopeWriter,
|
|
208
190
|
_args5 = arguments;
|
|
209
191
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
210
|
-
while (1) {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
return _context5.stop();
|
|
222
|
-
}
|
|
192
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
193
|
+
case 0:
|
|
194
|
+
opts = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : {};
|
|
195
|
+
_context5.next = 3;
|
|
196
|
+
return ParquetEnvelopeWriter.openStream(schema, outputStream, opts);
|
|
197
|
+
case 3:
|
|
198
|
+
envelopeWriter = _context5.sent;
|
|
199
|
+
return _context5.abrupt("return", new ParquetEncoder(schema, envelopeWriter, opts));
|
|
200
|
+
case 5:
|
|
201
|
+
case "end":
|
|
202
|
+
return _context5.stop();
|
|
223
203
|
}
|
|
224
204
|
}, _callee5);
|
|
225
205
|
}));
|
|
@@ -258,41 +238,36 @@ var ParquetEnvelopeWriter = function () {
|
|
|
258
238
|
this.offset += buf.length;
|
|
259
239
|
return this.write(buf);
|
|
260
240
|
}
|
|
261
|
-
|
|
262
241
|
}, {
|
|
263
242
|
key: "writeHeader",
|
|
264
|
-
value:
|
|
265
|
-
function writeHeader() {
|
|
243
|
+
value: function writeHeader() {
|
|
266
244
|
return this.writeSection(Buffer.from(PARQUET_MAGIC));
|
|
267
245
|
}
|
|
268
|
-
|
|
269
246
|
}, {
|
|
270
247
|
key: "writeRowGroup",
|
|
271
248
|
value: function () {
|
|
272
249
|
var _writeRowGroup = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(records) {
|
|
273
250
|
var rgroup;
|
|
274
251
|
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
275
|
-
while (1) {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
return _context6.stop();
|
|
295
|
-
}
|
|
252
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
253
|
+
case 0:
|
|
254
|
+
_context6.next = 2;
|
|
255
|
+
return encodeRowGroup(this.schema, records, {
|
|
256
|
+
baseOffset: this.offset,
|
|
257
|
+
pageSize: this.pageSize,
|
|
258
|
+
useDataPageV2: this.useDataPageV2
|
|
259
|
+
});
|
|
260
|
+
case 2:
|
|
261
|
+
rgroup = _context6.sent;
|
|
262
|
+
this.rowCount += records.rowCount;
|
|
263
|
+
this.rowGroups.push(rgroup.metadata);
|
|
264
|
+
_context6.next = 7;
|
|
265
|
+
return this.writeSection(rgroup.body);
|
|
266
|
+
case 7:
|
|
267
|
+
return _context6.abrupt("return", _context6.sent);
|
|
268
|
+
case 8:
|
|
269
|
+
case "end":
|
|
270
|
+
return _context6.stop();
|
|
296
271
|
}
|
|
297
272
|
}, _callee6, this);
|
|
298
273
|
}));
|
|
@@ -303,18 +278,15 @@ var ParquetEnvelopeWriter = function () {
|
|
|
303
278
|
}()
|
|
304
279
|
}, {
|
|
305
280
|
key: "writeFooter",
|
|
306
|
-
value:
|
|
307
|
-
function writeFooter(userMetadata) {
|
|
281
|
+
value: function writeFooter(userMetadata) {
|
|
308
282
|
if (!userMetadata) {
|
|
309
283
|
userMetadata = {};
|
|
310
284
|
}
|
|
311
285
|
return this.writeSection(encodeFooter(this.schema, this.rowCount, this.rowGroups, userMetadata));
|
|
312
286
|
}
|
|
313
|
-
|
|
314
287
|
}, {
|
|
315
288
|
key: "setPageSize",
|
|
316
|
-
value:
|
|
317
|
-
function setPageSize(cnt) {
|
|
289
|
+
value: function setPageSize(cnt) {
|
|
318
290
|
this.pageSize = cnt;
|
|
319
291
|
}
|
|
320
292
|
}], [{
|
|
@@ -323,16 +295,14 @@ var ParquetEnvelopeWriter = function () {
|
|
|
323
295
|
var _openStream2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(schema, outputStream, opts) {
|
|
324
296
|
var writeFn, closeFn;
|
|
325
297
|
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
326
|
-
while (1) {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
return _context7.stop();
|
|
335
|
-
}
|
|
298
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
299
|
+
case 0:
|
|
300
|
+
writeFn = _fileUtils.oswrite.bind(undefined, outputStream);
|
|
301
|
+
closeFn = _fileUtils.osclose.bind(undefined, outputStream);
|
|
302
|
+
return _context7.abrupt("return", new ParquetEnvelopeWriter(schema, writeFn, closeFn, 0, opts));
|
|
303
|
+
case 3:
|
|
304
|
+
case "end":
|
|
305
|
+
return _context7.stop();
|
|
336
306
|
}
|
|
337
307
|
}, _callee7);
|
|
338
308
|
}));
|
|
@@ -345,14 +315,12 @@ var ParquetEnvelopeWriter = function () {
|
|
|
345
315
|
return ParquetEnvelopeWriter;
|
|
346
316
|
}();
|
|
347
317
|
exports.ParquetEnvelopeWriter = ParquetEnvelopeWriter;
|
|
348
|
-
|
|
349
318
|
function encodeValues(type, encoding, values, opts) {
|
|
350
319
|
if (!(encoding in _codecs.PARQUET_CODECS)) {
|
|
351
320
|
throw new Error("invalid encoding: ".concat(encoding));
|
|
352
321
|
}
|
|
353
322
|
return _codecs.PARQUET_CODECS[encoding].encodeValues(type, values, opts);
|
|
354
323
|
}
|
|
355
|
-
|
|
356
324
|
function encodeDataPage(_x12, _x13) {
|
|
357
325
|
return _encodeDataPage.apply(this, arguments);
|
|
358
326
|
}
|
|
@@ -360,54 +328,50 @@ function _encodeDataPage() {
|
|
|
360
328
|
_encodeDataPage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8(column, data) {
|
|
361
329
|
var rLevelsBuf, dLevelsBuf, valuesBuf, dataBuf, compressedBuf, header, headerBuf, page;
|
|
362
330
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
363
|
-
while (1) {
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
bitWidth: (0, _readUtils.getBitWidth)(column.rLevelMax)
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
dLevelsBuf = Buffer.alloc(0);
|
|
373
|
-
if (column.dLevelMax > 0) {
|
|
374
|
-
dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {
|
|
375
|
-
bitWidth: (0, _readUtils.getBitWidth)(column.dLevelMax)
|
|
376
|
-
});
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
valuesBuf = encodeValues(column.primitiveType, column.encoding, data.values, {
|
|
380
|
-
typeLength: column.typeLength,
|
|
381
|
-
bitWidth: column.typeLength
|
|
331
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
332
|
+
case 0:
|
|
333
|
+
rLevelsBuf = Buffer.alloc(0);
|
|
334
|
+
if (column.rLevelMax > 0) {
|
|
335
|
+
rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {
|
|
336
|
+
bitWidth: (0, _readUtils.getBitWidth)(column.rLevelMax)
|
|
382
337
|
});
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
header = new _parquetThrift.PageHeader({
|
|
389
|
-
type: _parquetThrift.PageType.DATA_PAGE,
|
|
390
|
-
data_page_header: new _parquetThrift.DataPageHeader({
|
|
391
|
-
num_values: data.count,
|
|
392
|
-
encoding: _parquetThrift.Encoding[column.encoding],
|
|
393
|
-
definition_level_encoding: _parquetThrift.Encoding[PARQUET_RDLVL_ENCODING],
|
|
394
|
-
repetition_level_encoding: _parquetThrift.Encoding[PARQUET_RDLVL_ENCODING]
|
|
395
|
-
}),
|
|
396
|
-
|
|
397
|
-
uncompressed_page_size: dataBuf.length,
|
|
398
|
-
compressed_page_size: compressedBuf.length
|
|
399
|
-
});
|
|
400
|
-
headerBuf = (0, _readUtils.serializeThrift)(header);
|
|
401
|
-
page = Buffer.concat([headerBuf, compressedBuf]);
|
|
402
|
-
return _context8.abrupt("return", {
|
|
403
|
-
header: header,
|
|
404
|
-
headerSize: headerBuf.length,
|
|
405
|
-
page: page
|
|
338
|
+
}
|
|
339
|
+
dLevelsBuf = Buffer.alloc(0);
|
|
340
|
+
if (column.dLevelMax > 0) {
|
|
341
|
+
dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {
|
|
342
|
+
bitWidth: (0, _readUtils.getBitWidth)(column.dLevelMax)
|
|
406
343
|
});
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
344
|
+
}
|
|
345
|
+
valuesBuf = encodeValues(column.primitiveType, column.encoding, data.values, {
|
|
346
|
+
typeLength: column.typeLength,
|
|
347
|
+
bitWidth: column.typeLength
|
|
348
|
+
});
|
|
349
|
+
dataBuf = Buffer.concat([rLevelsBuf, dLevelsBuf, valuesBuf]);
|
|
350
|
+
_context8.next = 8;
|
|
351
|
+
return Compression.deflate(column.compression, dataBuf);
|
|
352
|
+
case 8:
|
|
353
|
+
compressedBuf = _context8.sent;
|
|
354
|
+
header = new _parquetThrift.PageHeader({
|
|
355
|
+
type: _parquetThrift.PageType.DATA_PAGE,
|
|
356
|
+
data_page_header: new _parquetThrift.DataPageHeader({
|
|
357
|
+
num_values: data.count,
|
|
358
|
+
encoding: _parquetThrift.Encoding[column.encoding],
|
|
359
|
+
definition_level_encoding: _parquetThrift.Encoding[PARQUET_RDLVL_ENCODING],
|
|
360
|
+
repetition_level_encoding: _parquetThrift.Encoding[PARQUET_RDLVL_ENCODING]
|
|
361
|
+
}),
|
|
362
|
+
uncompressed_page_size: dataBuf.length,
|
|
363
|
+
compressed_page_size: compressedBuf.length
|
|
364
|
+
});
|
|
365
|
+
headerBuf = (0, _readUtils.serializeThrift)(header);
|
|
366
|
+
page = Buffer.concat([headerBuf, compressedBuf]);
|
|
367
|
+
return _context8.abrupt("return", {
|
|
368
|
+
header: header,
|
|
369
|
+
headerSize: headerBuf.length,
|
|
370
|
+
page: page
|
|
371
|
+
});
|
|
372
|
+
case 13:
|
|
373
|
+
case "end":
|
|
374
|
+
return _context8.stop();
|
|
411
375
|
}
|
|
412
376
|
}, _callee8);
|
|
413
377
|
}));
|
|
@@ -420,57 +384,54 @@ function _encodeDataPageV() {
|
|
|
420
384
|
_encodeDataPageV = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(column, data, rowCount) {
|
|
421
385
|
var valuesBuf, compressedBuf, rLevelsBuf, dLevelsBuf, header, headerBuf, page;
|
|
422
386
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
423
|
-
while (1) {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
disableEnvelope: true
|
|
439
|
-
});
|
|
440
|
-
}
|
|
441
|
-
dLevelsBuf = Buffer.alloc(0);
|
|
442
|
-
if (column.dLevelMax > 0) {
|
|
443
|
-
dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {
|
|
444
|
-
bitWidth: (0, _readUtils.getBitWidth)(column.dLevelMax),
|
|
445
|
-
disableEnvelope: true
|
|
446
|
-
});
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
header = new _parquetThrift.PageHeader({
|
|
450
|
-
type: _parquetThrift.PageType.DATA_PAGE_V2,
|
|
451
|
-
data_page_header_v2: new _parquetThrift.DataPageHeaderV2({
|
|
452
|
-
num_values: data.count,
|
|
453
|
-
num_nulls: data.count - data.values.length,
|
|
454
|
-
num_rows: rowCount,
|
|
455
|
-
encoding: _parquetThrift.Encoding[column.encoding],
|
|
456
|
-
definition_levels_byte_length: dLevelsBuf.length,
|
|
457
|
-
repetition_levels_byte_length: rLevelsBuf.length,
|
|
458
|
-
is_compressed: column.compression !== 'UNCOMPRESSED'
|
|
459
|
-
}),
|
|
460
|
-
uncompressed_page_size: rLevelsBuf.length + dLevelsBuf.length + valuesBuf.length,
|
|
461
|
-
compressed_page_size: rLevelsBuf.length + dLevelsBuf.length + compressedBuf.length
|
|
387
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
388
|
+
case 0:
|
|
389
|
+
valuesBuf = encodeValues(column.primitiveType, column.encoding, data.values, {
|
|
390
|
+
typeLength: column.typeLength,
|
|
391
|
+
bitWidth: column.typeLength
|
|
392
|
+
});
|
|
393
|
+
_context9.next = 3;
|
|
394
|
+
return Compression.deflate(column.compression, valuesBuf);
|
|
395
|
+
case 3:
|
|
396
|
+
compressedBuf = _context9.sent;
|
|
397
|
+
rLevelsBuf = Buffer.alloc(0);
|
|
398
|
+
if (column.rLevelMax > 0) {
|
|
399
|
+
rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {
|
|
400
|
+
bitWidth: (0, _readUtils.getBitWidth)(column.rLevelMax),
|
|
401
|
+
disableEnvelope: true
|
|
462
402
|
});
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
403
|
+
}
|
|
404
|
+
dLevelsBuf = Buffer.alloc(0);
|
|
405
|
+
if (column.dLevelMax > 0) {
|
|
406
|
+
dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {
|
|
407
|
+
bitWidth: (0, _readUtils.getBitWidth)(column.dLevelMax),
|
|
408
|
+
disableEnvelope: true
|
|
469
409
|
});
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
410
|
+
}
|
|
411
|
+
header = new _parquetThrift.PageHeader({
|
|
412
|
+
type: _parquetThrift.PageType.DATA_PAGE_V2,
|
|
413
|
+
data_page_header_v2: new _parquetThrift.DataPageHeaderV2({
|
|
414
|
+
num_values: data.count,
|
|
415
|
+
num_nulls: data.count - data.values.length,
|
|
416
|
+
num_rows: rowCount,
|
|
417
|
+
encoding: _parquetThrift.Encoding[column.encoding],
|
|
418
|
+
definition_levels_byte_length: dLevelsBuf.length,
|
|
419
|
+
repetition_levels_byte_length: rLevelsBuf.length,
|
|
420
|
+
is_compressed: column.compression !== 'UNCOMPRESSED'
|
|
421
|
+
}),
|
|
422
|
+
uncompressed_page_size: rLevelsBuf.length + dLevelsBuf.length + valuesBuf.length,
|
|
423
|
+
compressed_page_size: rLevelsBuf.length + dLevelsBuf.length + compressedBuf.length
|
|
424
|
+
});
|
|
425
|
+
headerBuf = (0, _readUtils.serializeThrift)(header);
|
|
426
|
+
page = Buffer.concat([headerBuf, rLevelsBuf, dLevelsBuf, compressedBuf]);
|
|
427
|
+
return _context9.abrupt("return", {
|
|
428
|
+
header: header,
|
|
429
|
+
headerSize: headerBuf.length,
|
|
430
|
+
page: page
|
|
431
|
+
});
|
|
432
|
+
case 12:
|
|
433
|
+
case "end":
|
|
434
|
+
return _context9.stop();
|
|
474
435
|
}
|
|
475
436
|
}, _callee9);
|
|
476
437
|
}));
|
|
@@ -483,57 +444,54 @@ function _encodeColumnChunk() {
|
|
|
483
444
|
_encodeColumnChunk = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee10(column, buffer, offset, opts) {
|
|
484
445
|
var data, baseOffset, pageBuf, total_uncompressed_size, total_compressed_size, result, metadata, metadataOffset, body;
|
|
485
446
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
486
|
-
while (1) {
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
_context10.next = 10;
|
|
495
|
-
break;
|
|
496
|
-
}
|
|
497
|
-
_context10.next = 7;
|
|
498
|
-
return encodeDataPageV2(column, data, buffer.rowCount);
|
|
499
|
-
case 7:
|
|
500
|
-
_context10.t0 = _context10.sent;
|
|
501
|
-
_context10.next = 13;
|
|
447
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
448
|
+
case 0:
|
|
449
|
+
data = buffer.columnData[column.path.join()];
|
|
450
|
+
baseOffset = (opts.baseOffset || 0) + offset;
|
|
451
|
+
total_uncompressed_size = 0;
|
|
452
|
+
total_compressed_size = 0;
|
|
453
|
+
if (!opts.useDataPageV2) {
|
|
454
|
+
_context10.next = 10;
|
|
502
455
|
break;
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
456
|
+
}
|
|
457
|
+
_context10.next = 7;
|
|
458
|
+
return encodeDataPageV2(column, data, buffer.rowCount);
|
|
459
|
+
case 7:
|
|
460
|
+
_context10.t0 = _context10.sent;
|
|
461
|
+
_context10.next = 13;
|
|
462
|
+
break;
|
|
463
|
+
case 10:
|
|
464
|
+
_context10.next = 12;
|
|
465
|
+
return encodeDataPage(column, data);
|
|
466
|
+
case 12:
|
|
467
|
+
_context10.t0 = _context10.sent;
|
|
468
|
+
case 13:
|
|
469
|
+
result = _context10.t0;
|
|
470
|
+
pageBuf = result.page;
|
|
471
|
+
total_uncompressed_size += result.header.uncompressed_page_size + result.headerSize;
|
|
472
|
+
total_compressed_size += result.header.compressed_page_size + result.headerSize;
|
|
473
|
+
metadata = new _parquetThrift.ColumnMetaData({
|
|
474
|
+
path_in_schema: column.path,
|
|
475
|
+
num_values: data.count,
|
|
476
|
+
data_page_offset: baseOffset,
|
|
477
|
+
encodings: [],
|
|
478
|
+
total_uncompressed_size: total_uncompressed_size,
|
|
479
|
+
total_compressed_size: total_compressed_size,
|
|
480
|
+
type: _parquetThrift.Type[column.primitiveType],
|
|
481
|
+
codec: _parquetThrift.CompressionCodec[column.compression]
|
|
482
|
+
});
|
|
483
|
+
metadata.encodings.push(_parquetThrift.Encoding[PARQUET_RDLVL_ENCODING]);
|
|
484
|
+
metadata.encodings.push(_parquetThrift.Encoding[column.encoding]);
|
|
485
|
+
metadataOffset = baseOffset + pageBuf.length;
|
|
486
|
+
body = Buffer.concat([pageBuf, (0, _readUtils.serializeThrift)(metadata)]);
|
|
487
|
+
return _context10.abrupt("return", {
|
|
488
|
+
body: body,
|
|
489
|
+
metadata: metadata,
|
|
490
|
+
metadataOffset: metadataOffset
|
|
491
|
+
});
|
|
492
|
+
case 23:
|
|
493
|
+
case "end":
|
|
494
|
+
return _context10.stop();
|
|
537
495
|
}
|
|
538
496
|
}, _callee10);
|
|
539
497
|
}));
|
|
@@ -546,64 +504,62 @@ function _encodeRowGroup() {
|
|
|
546
504
|
_encodeRowGroup = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee11(schema, data, opts) {
|
|
547
505
|
var metadata, body, _iterator2, _step2, field, cchunkData, cchunk;
|
|
548
506
|
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
549
|
-
while (1) {
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
_context11.next = 18;
|
|
564
|
-
break;
|
|
565
|
-
}
|
|
566
|
-
field = _step2.value;
|
|
567
|
-
if (!field.isNested) {
|
|
568
|
-
_context11.next = 9;
|
|
569
|
-
break;
|
|
570
|
-
}
|
|
571
|
-
return _context11.abrupt("continue", 16);
|
|
572
|
-
case 9:
|
|
573
|
-
_context11.next = 11;
|
|
574
|
-
return encodeColumnChunk(field, data, body.length, opts);
|
|
575
|
-
case 11:
|
|
576
|
-
cchunkData = _context11.sent;
|
|
577
|
-
cchunk = new _parquetThrift.ColumnChunk({
|
|
578
|
-
file_offset: cchunkData.metadataOffset,
|
|
579
|
-
meta_data: cchunkData.metadata
|
|
580
|
-
});
|
|
581
|
-
metadata.columns.push(cchunk);
|
|
582
|
-
metadata.total_byte_size = new _nodeInt.default(Number(metadata.total_byte_size) + cchunkData.body.length);
|
|
583
|
-
body = Buffer.concat([body, cchunkData.body]);
|
|
584
|
-
case 16:
|
|
585
|
-
_context11.next = 5;
|
|
507
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
508
|
+
case 0:
|
|
509
|
+
metadata = new _parquetThrift.RowGroup({
|
|
510
|
+
num_rows: data.rowCount,
|
|
511
|
+
columns: [],
|
|
512
|
+
total_byte_size: 0
|
|
513
|
+
});
|
|
514
|
+
body = Buffer.alloc(0);
|
|
515
|
+
_iterator2 = _createForOfIteratorHelper(schema.fieldList);
|
|
516
|
+
_context11.prev = 3;
|
|
517
|
+
_iterator2.s();
|
|
518
|
+
case 5:
|
|
519
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
520
|
+
_context11.next = 18;
|
|
586
521
|
break;
|
|
587
|
-
|
|
588
|
-
|
|
522
|
+
}
|
|
523
|
+
field = _step2.value;
|
|
524
|
+
if (!field.isNested) {
|
|
525
|
+
_context11.next = 9;
|
|
589
526
|
break;
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
527
|
+
}
|
|
528
|
+
return _context11.abrupt("continue", 16);
|
|
529
|
+
case 9:
|
|
530
|
+
_context11.next = 11;
|
|
531
|
+
return encodeColumnChunk(field, data, body.length, opts);
|
|
532
|
+
case 11:
|
|
533
|
+
cchunkData = _context11.sent;
|
|
534
|
+
cchunk = new _parquetThrift.ColumnChunk({
|
|
535
|
+
file_offset: cchunkData.metadataOffset,
|
|
536
|
+
meta_data: cchunkData.metadata
|
|
537
|
+
});
|
|
538
|
+
metadata.columns.push(cchunk);
|
|
539
|
+
metadata.total_byte_size = new _nodeInt.default(Number(metadata.total_byte_size) + cchunkData.body.length);
|
|
540
|
+
body = Buffer.concat([body, cchunkData.body]);
|
|
541
|
+
case 16:
|
|
542
|
+
_context11.next = 5;
|
|
543
|
+
break;
|
|
544
|
+
case 18:
|
|
545
|
+
_context11.next = 23;
|
|
546
|
+
break;
|
|
547
|
+
case 20:
|
|
548
|
+
_context11.prev = 20;
|
|
549
|
+
_context11.t0 = _context11["catch"](3);
|
|
550
|
+
_iterator2.e(_context11.t0);
|
|
551
|
+
case 23:
|
|
552
|
+
_context11.prev = 23;
|
|
553
|
+
_iterator2.f();
|
|
554
|
+
return _context11.finish(23);
|
|
555
|
+
case 26:
|
|
556
|
+
return _context11.abrupt("return", {
|
|
557
|
+
body: body,
|
|
558
|
+
metadata: metadata
|
|
559
|
+
});
|
|
560
|
+
case 27:
|
|
561
|
+
case "end":
|
|
562
|
+
return _context11.stop();
|
|
607
563
|
}
|
|
608
564
|
}, _callee11, null, [[3, 20, 23, 26]]);
|
|
609
565
|
}));
|