@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
|
@@ -20,7 +20,7 @@ var _parquetThrift = require("../parquet-thrift");
|
|
|
20
20
|
var _readUtils = require("../utils/read-utils");
|
|
21
21
|
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; } } }; }
|
|
22
22
|
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); }
|
|
23
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
23
|
+
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; }
|
|
24
24
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
25
25
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
26
26
|
function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
@@ -28,7 +28,6 @@ function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r
|
|
|
28
28
|
var DEFAULT_PROPS = {
|
|
29
29
|
defaultDictionarySize: 1e6
|
|
30
30
|
};
|
|
31
|
-
|
|
32
31
|
var ParquetReader = function () {
|
|
33
32
|
function ParquetReader(file, props) {
|
|
34
33
|
(0, _classCallCheck2.default)(this, ParquetReader);
|
|
@@ -43,212 +42,199 @@ var ParquetReader = function () {
|
|
|
43
42
|
value: function close() {
|
|
44
43
|
this.file.close();
|
|
45
44
|
}
|
|
46
|
-
|
|
47
45
|
}, {
|
|
48
46
|
key: "rowIterator",
|
|
49
|
-
value:
|
|
50
|
-
|
|
51
|
-
function rowIterator(props) {
|
|
47
|
+
value: function rowIterator(props) {
|
|
52
48
|
var _this = this;
|
|
53
49
|
return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
54
50
|
var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, rows, _iterator3, _step3, row;
|
|
55
51
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
56
|
-
while (1) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
_context.next = 28;
|
|
69
|
-
break;
|
|
70
|
-
}
|
|
71
|
-
rows = _step.value;
|
|
72
|
-
_iterator3 = _createForOfIteratorHelper(rows);
|
|
73
|
-
_context.prev = 9;
|
|
74
|
-
_iterator3.s();
|
|
75
|
-
case 11:
|
|
76
|
-
if ((_step3 = _iterator3.n()).done) {
|
|
77
|
-
_context.next = 17;
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
row = _step3.value;
|
|
81
|
-
_context.next = 15;
|
|
82
|
-
return row;
|
|
83
|
-
case 15:
|
|
84
|
-
_context.next = 11;
|
|
52
|
+
while (1) switch (_context.prev = _context.next) {
|
|
53
|
+
case 0:
|
|
54
|
+
_iteratorAbruptCompletion = false;
|
|
55
|
+
_didIteratorError = false;
|
|
56
|
+
_context.prev = 2;
|
|
57
|
+
_iterator = _asyncIterator(_this.rowBatchIterator(props));
|
|
58
|
+
case 4:
|
|
59
|
+
_context.next = 6;
|
|
60
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
61
|
+
case 6:
|
|
62
|
+
if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
|
|
63
|
+
_context.next = 28;
|
|
85
64
|
break;
|
|
86
|
-
|
|
87
|
-
|
|
65
|
+
}
|
|
66
|
+
rows = _step.value;
|
|
67
|
+
_iterator3 = _createForOfIteratorHelper(rows);
|
|
68
|
+
_context.prev = 9;
|
|
69
|
+
_iterator3.s();
|
|
70
|
+
case 11:
|
|
71
|
+
if ((_step3 = _iterator3.n()).done) {
|
|
72
|
+
_context.next = 17;
|
|
88
73
|
break;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
74
|
+
}
|
|
75
|
+
row = _step3.value;
|
|
76
|
+
_context.next = 15;
|
|
77
|
+
return row;
|
|
78
|
+
case 15:
|
|
79
|
+
_context.next = 11;
|
|
80
|
+
break;
|
|
81
|
+
case 17:
|
|
82
|
+
_context.next = 22;
|
|
83
|
+
break;
|
|
84
|
+
case 19:
|
|
85
|
+
_context.prev = 19;
|
|
86
|
+
_context.t0 = _context["catch"](9);
|
|
87
|
+
_iterator3.e(_context.t0);
|
|
88
|
+
case 22:
|
|
89
|
+
_context.prev = 22;
|
|
90
|
+
_iterator3.f();
|
|
91
|
+
return _context.finish(22);
|
|
92
|
+
case 25:
|
|
93
|
+
_iteratorAbruptCompletion = false;
|
|
94
|
+
_context.next = 4;
|
|
95
|
+
break;
|
|
96
|
+
case 28:
|
|
97
|
+
_context.next = 34;
|
|
98
|
+
break;
|
|
99
|
+
case 30:
|
|
100
|
+
_context.prev = 30;
|
|
101
|
+
_context.t1 = _context["catch"](2);
|
|
102
|
+
_didIteratorError = true;
|
|
103
|
+
_iteratorError = _context.t1;
|
|
104
|
+
case 34:
|
|
105
|
+
_context.prev = 34;
|
|
106
|
+
_context.prev = 35;
|
|
107
|
+
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
108
|
+
_context.next = 39;
|
|
100
109
|
break;
|
|
101
|
-
|
|
102
|
-
|
|
110
|
+
}
|
|
111
|
+
_context.next = 39;
|
|
112
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
113
|
+
case 39:
|
|
114
|
+
_context.prev = 39;
|
|
115
|
+
if (!_didIteratorError) {
|
|
116
|
+
_context.next = 42;
|
|
103
117
|
break;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
_context.next = 39;
|
|
114
|
-
break;
|
|
115
|
-
}
|
|
116
|
-
_context.next = 39;
|
|
117
|
-
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
118
|
-
case 39:
|
|
119
|
-
_context.prev = 39;
|
|
120
|
-
if (!_didIteratorError) {
|
|
121
|
-
_context.next = 42;
|
|
122
|
-
break;
|
|
123
|
-
}
|
|
124
|
-
throw _iteratorError;
|
|
125
|
-
case 42:
|
|
126
|
-
return _context.finish(39);
|
|
127
|
-
case 43:
|
|
128
|
-
return _context.finish(34);
|
|
129
|
-
case 44:
|
|
130
|
-
case "end":
|
|
131
|
-
return _context.stop();
|
|
132
|
-
}
|
|
118
|
+
}
|
|
119
|
+
throw _iteratorError;
|
|
120
|
+
case 42:
|
|
121
|
+
return _context.finish(39);
|
|
122
|
+
case 43:
|
|
123
|
+
return _context.finish(34);
|
|
124
|
+
case 44:
|
|
125
|
+
case "end":
|
|
126
|
+
return _context.stop();
|
|
133
127
|
}
|
|
134
128
|
}, _callee, null, [[2, 30, 34, 44], [9, 19, 22, 25], [35,, 39, 43]]);
|
|
135
129
|
}))();
|
|
136
130
|
}
|
|
137
|
-
|
|
138
131
|
}, {
|
|
139
132
|
key: "rowBatchIterator",
|
|
140
|
-
value:
|
|
141
|
-
function rowBatchIterator(props) {
|
|
133
|
+
value: function rowBatchIterator(props) {
|
|
142
134
|
var _this2 = this;
|
|
143
135
|
return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
144
136
|
var schema, _iteratorAbruptCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, rowGroup;
|
|
145
137
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
146
|
-
while (1) {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
_context2.next = 16;
|
|
163
|
-
break;
|
|
164
|
-
}
|
|
165
|
-
rowGroup = _step2.value;
|
|
166
|
-
_context2.next = 13;
|
|
167
|
-
return (0, _shred.materializeRecords)(schema, rowGroup);
|
|
168
|
-
case 13:
|
|
169
|
-
_iteratorAbruptCompletion2 = false;
|
|
170
|
-
_context2.next = 7;
|
|
171
|
-
break;
|
|
172
|
-
case 16:
|
|
173
|
-
_context2.next = 22;
|
|
138
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
139
|
+
case 0:
|
|
140
|
+
_context2.next = 2;
|
|
141
|
+
return (0, _awaitAsyncGenerator2.default)(_this2.getSchema());
|
|
142
|
+
case 2:
|
|
143
|
+
schema = _context2.sent;
|
|
144
|
+
_iteratorAbruptCompletion2 = false;
|
|
145
|
+
_didIteratorError2 = false;
|
|
146
|
+
_context2.prev = 5;
|
|
147
|
+
_iterator2 = _asyncIterator(_this2.rowGroupIterator(props));
|
|
148
|
+
case 7:
|
|
149
|
+
_context2.next = 9;
|
|
150
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator2.next());
|
|
151
|
+
case 9:
|
|
152
|
+
if (!(_iteratorAbruptCompletion2 = !(_step2 = _context2.sent).done)) {
|
|
153
|
+
_context2.next = 16;
|
|
174
154
|
break;
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
155
|
+
}
|
|
156
|
+
rowGroup = _step2.value;
|
|
157
|
+
_context2.next = 13;
|
|
158
|
+
return (0, _shred.materializeRecords)(schema, rowGroup);
|
|
159
|
+
case 13:
|
|
160
|
+
_iteratorAbruptCompletion2 = false;
|
|
161
|
+
_context2.next = 7;
|
|
162
|
+
break;
|
|
163
|
+
case 16:
|
|
164
|
+
_context2.next = 22;
|
|
165
|
+
break;
|
|
166
|
+
case 18:
|
|
167
|
+
_context2.prev = 18;
|
|
168
|
+
_context2.t0 = _context2["catch"](5);
|
|
169
|
+
_didIteratorError2 = true;
|
|
170
|
+
_iteratorError2 = _context2.t0;
|
|
171
|
+
case 22:
|
|
172
|
+
_context2.prev = 22;
|
|
173
|
+
_context2.prev = 23;
|
|
174
|
+
if (!(_iteratorAbruptCompletion2 && _iterator2.return != null)) {
|
|
187
175
|
_context2.next = 27;
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
_context2.next = 27;
|
|
179
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator2.return());
|
|
180
|
+
case 27:
|
|
181
|
+
_context2.prev = 27;
|
|
182
|
+
if (!_didIteratorError2) {
|
|
183
|
+
_context2.next = 30;
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
throw _iteratorError2;
|
|
187
|
+
case 30:
|
|
188
|
+
return _context2.finish(27);
|
|
189
|
+
case 31:
|
|
190
|
+
return _context2.finish(22);
|
|
191
|
+
case 32:
|
|
192
|
+
case "end":
|
|
193
|
+
return _context2.stop();
|
|
204
194
|
}
|
|
205
195
|
}, _callee2, null, [[5, 18, 22, 32], [23,, 27, 31]]);
|
|
206
196
|
}))();
|
|
207
197
|
}
|
|
208
|
-
|
|
209
198
|
}, {
|
|
210
199
|
key: "rowGroupIterator",
|
|
211
|
-
value:
|
|
212
|
-
function rowGroupIterator(props) {
|
|
200
|
+
value: function rowGroupIterator(props) {
|
|
213
201
|
var _this3 = this;
|
|
214
202
|
return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee3() {
|
|
215
203
|
var columnList, metadata, schema, rowGroupCount, rowGroupIndex, rowGroup;
|
|
216
204
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
217
|
-
while (1) {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
_context3.next = 18;
|
|
236
|
-
break;
|
|
237
|
-
}
|
|
238
|
-
_context3.next = 12;
|
|
239
|
-
return (0, _awaitAsyncGenerator2.default)(_this3.readRowGroup(schema, metadata.row_groups[rowGroupIndex], columnList));
|
|
240
|
-
case 12:
|
|
241
|
-
rowGroup = _context3.sent;
|
|
242
|
-
_context3.next = 15;
|
|
243
|
-
return rowGroup;
|
|
244
|
-
case 15:
|
|
245
|
-
rowGroupIndex++;
|
|
246
|
-
_context3.next = 9;
|
|
205
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
206
|
+
case 0:
|
|
207
|
+
columnList = ((props === null || props === void 0 ? void 0 : props.columnList) || []).map(function (x) {
|
|
208
|
+
return Array.isArray(x) ? x : [x];
|
|
209
|
+
});
|
|
210
|
+
_context3.next = 3;
|
|
211
|
+
return (0, _awaitAsyncGenerator2.default)(_this3.getFileMetadata());
|
|
212
|
+
case 3:
|
|
213
|
+
metadata = _context3.sent;
|
|
214
|
+
_context3.next = 6;
|
|
215
|
+
return (0, _awaitAsyncGenerator2.default)(_this3.getSchema());
|
|
216
|
+
case 6:
|
|
217
|
+
schema = _context3.sent;
|
|
218
|
+
rowGroupCount = (metadata === null || metadata === void 0 ? void 0 : metadata.row_groups.length) || 0;
|
|
219
|
+
rowGroupIndex = 0;
|
|
220
|
+
case 9:
|
|
221
|
+
if (!(rowGroupIndex < rowGroupCount)) {
|
|
222
|
+
_context3.next = 18;
|
|
247
223
|
break;
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
224
|
+
}
|
|
225
|
+
_context3.next = 12;
|
|
226
|
+
return (0, _awaitAsyncGenerator2.default)(_this3.readRowGroup(schema, metadata.row_groups[rowGroupIndex], columnList));
|
|
227
|
+
case 12:
|
|
228
|
+
rowGroup = _context3.sent;
|
|
229
|
+
_context3.next = 15;
|
|
230
|
+
return rowGroup;
|
|
231
|
+
case 15:
|
|
232
|
+
rowGroupIndex++;
|
|
233
|
+
_context3.next = 9;
|
|
234
|
+
break;
|
|
235
|
+
case 18:
|
|
236
|
+
case "end":
|
|
237
|
+
return _context3.stop();
|
|
252
238
|
}
|
|
253
239
|
}, _callee3);
|
|
254
240
|
}))();
|
|
@@ -259,18 +245,16 @@ var ParquetReader = function () {
|
|
|
259
245
|
var _getRowCount = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4() {
|
|
260
246
|
var metadata;
|
|
261
247
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
262
|
-
while (1) {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
return _context4.stop();
|
|
273
|
-
}
|
|
248
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
249
|
+
case 0:
|
|
250
|
+
_context4.next = 2;
|
|
251
|
+
return this.getFileMetadata();
|
|
252
|
+
case 2:
|
|
253
|
+
metadata = _context4.sent;
|
|
254
|
+
return _context4.abrupt("return", Number(metadata.num_rows));
|
|
255
|
+
case 4:
|
|
256
|
+
case "end":
|
|
257
|
+
return _context4.stop();
|
|
274
258
|
}
|
|
275
259
|
}, _callee4, this);
|
|
276
260
|
}));
|
|
@@ -285,21 +269,19 @@ var ParquetReader = function () {
|
|
|
285
269
|
var _getSchema = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5() {
|
|
286
270
|
var metadata, root, _decodeSchema, schemaDefinition, schema;
|
|
287
271
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
288
|
-
while (1) {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
return _context5.stop();
|
|
302
|
-
}
|
|
272
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
273
|
+
case 0:
|
|
274
|
+
_context5.next = 2;
|
|
275
|
+
return this.getFileMetadata();
|
|
276
|
+
case 2:
|
|
277
|
+
metadata = _context5.sent;
|
|
278
|
+
root = metadata.schema[0];
|
|
279
|
+
_decodeSchema = (0, _decoders.decodeSchema)(metadata.schema, 1, root.num_children), schemaDefinition = _decodeSchema.schema;
|
|
280
|
+
schema = new _schema.ParquetSchema(schemaDefinition);
|
|
281
|
+
return _context5.abrupt("return", schema);
|
|
282
|
+
case 7:
|
|
283
|
+
case "end":
|
|
284
|
+
return _context5.stop();
|
|
303
285
|
}
|
|
304
286
|
}, _callee5, this);
|
|
305
287
|
}));
|
|
@@ -314,30 +296,28 @@ var ParquetReader = function () {
|
|
|
314
296
|
var _getSchemaMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6() {
|
|
315
297
|
var metadata, md, _iterator4, _step4, kv;
|
|
316
298
|
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
317
|
-
while (1) {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
md[kv.key] = kv.value;
|
|
330
|
-
}
|
|
331
|
-
} catch (err) {
|
|
332
|
-
_iterator4.e(err);
|
|
333
|
-
} finally {
|
|
334
|
-
_iterator4.f();
|
|
299
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
300
|
+
case 0:
|
|
301
|
+
_context6.next = 2;
|
|
302
|
+
return this.getFileMetadata();
|
|
303
|
+
case 2:
|
|
304
|
+
metadata = _context6.sent;
|
|
305
|
+
md = {};
|
|
306
|
+
_iterator4 = _createForOfIteratorHelper(metadata.key_value_metadata);
|
|
307
|
+
try {
|
|
308
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
309
|
+
kv = _step4.value;
|
|
310
|
+
md[kv.key] = kv.value;
|
|
335
311
|
}
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
312
|
+
} catch (err) {
|
|
313
|
+
_iterator4.e(err);
|
|
314
|
+
} finally {
|
|
315
|
+
_iterator4.f();
|
|
316
|
+
}
|
|
317
|
+
return _context6.abrupt("return", md);
|
|
318
|
+
case 7:
|
|
319
|
+
case "end":
|
|
320
|
+
return _context6.stop();
|
|
341
321
|
}
|
|
342
322
|
}, _callee6, this);
|
|
343
323
|
}));
|
|
@@ -351,23 +331,21 @@ var ParquetReader = function () {
|
|
|
351
331
|
value: function () {
|
|
352
332
|
var _getFileMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7() {
|
|
353
333
|
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
354
|
-
while (1) {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
return _context7.stop();
|
|
370
|
-
}
|
|
334
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
335
|
+
case 0:
|
|
336
|
+
if (this.metadata) {
|
|
337
|
+
_context7.next = 4;
|
|
338
|
+
break;
|
|
339
|
+
}
|
|
340
|
+
_context7.next = 3;
|
|
341
|
+
return this.readHeader();
|
|
342
|
+
case 3:
|
|
343
|
+
this.metadata = this.readFooter();
|
|
344
|
+
case 4:
|
|
345
|
+
return _context7.abrupt("return", this.metadata);
|
|
346
|
+
case 5:
|
|
347
|
+
case "end":
|
|
348
|
+
return _context7.stop();
|
|
371
349
|
}
|
|
372
350
|
}, _callee7, this);
|
|
373
351
|
}));
|
|
@@ -382,27 +360,25 @@ var ParquetReader = function () {
|
|
|
382
360
|
var _readHeader = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8() {
|
|
383
361
|
var buffer, magic;
|
|
384
362
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
385
|
-
while (1) {
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
return _context8.stop();
|
|
405
|
-
}
|
|
363
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
364
|
+
case 0:
|
|
365
|
+
_context8.next = 2;
|
|
366
|
+
return this.file.read(0, _constants.PARQUET_MAGIC.length);
|
|
367
|
+
case 2:
|
|
368
|
+
buffer = _context8.sent;
|
|
369
|
+
magic = buffer.toString();
|
|
370
|
+
_context8.t0 = magic;
|
|
371
|
+
_context8.next = _context8.t0 === _constants.PARQUET_MAGIC ? 7 : _context8.t0 === _constants.PARQUET_MAGIC_ENCRYPTED ? 8 : 9;
|
|
372
|
+
break;
|
|
373
|
+
case 7:
|
|
374
|
+
return _context8.abrupt("break", 10);
|
|
375
|
+
case 8:
|
|
376
|
+
throw new Error('Encrypted parquet file not supported');
|
|
377
|
+
case 9:
|
|
378
|
+
throw new Error("Invalid parquet file (magic=".concat(magic, ")"));
|
|
379
|
+
case 10:
|
|
380
|
+
case "end":
|
|
381
|
+
return _context8.stop();
|
|
406
382
|
}
|
|
407
383
|
}, _callee8, this);
|
|
408
384
|
}));
|
|
@@ -417,39 +393,37 @@ var ParquetReader = function () {
|
|
|
417
393
|
var _readFooter = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9() {
|
|
418
394
|
var trailerLen, trailerBuf, magic, metadataSize, metadataOffset, metadataBuf, _decodeFileMetadata, metadata;
|
|
419
395
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
420
|
-
while (1) {
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
return _context9.stop();
|
|
452
|
-
}
|
|
396
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
397
|
+
case 0:
|
|
398
|
+
trailerLen = _constants.PARQUET_MAGIC.length + 4;
|
|
399
|
+
_context9.next = 3;
|
|
400
|
+
return this.file.read(this.file.size - trailerLen, trailerLen);
|
|
401
|
+
case 3:
|
|
402
|
+
trailerBuf = _context9.sent;
|
|
403
|
+
magic = trailerBuf.slice(4).toString();
|
|
404
|
+
if (!(magic !== _constants.PARQUET_MAGIC)) {
|
|
405
|
+
_context9.next = 7;
|
|
406
|
+
break;
|
|
407
|
+
}
|
|
408
|
+
throw new Error("Not a valid parquet file (magic=\"".concat(magic, ")"));
|
|
409
|
+
case 7:
|
|
410
|
+
metadataSize = trailerBuf.readUInt32LE(0);
|
|
411
|
+
metadataOffset = this.file.size - metadataSize - trailerLen;
|
|
412
|
+
if (!(metadataOffset < _constants.PARQUET_MAGIC.length)) {
|
|
413
|
+
_context9.next = 11;
|
|
414
|
+
break;
|
|
415
|
+
}
|
|
416
|
+
throw new Error("Invalid metadata size ".concat(metadataOffset));
|
|
417
|
+
case 11:
|
|
418
|
+
_context9.next = 13;
|
|
419
|
+
return this.file.read(metadataOffset, metadataSize);
|
|
420
|
+
case 13:
|
|
421
|
+
metadataBuf = _context9.sent;
|
|
422
|
+
_decodeFileMetadata = (0, _readUtils.decodeFileMetadata)(metadataBuf), metadata = _decodeFileMetadata.metadata;
|
|
423
|
+
return _context9.abrupt("return", metadata);
|
|
424
|
+
case 16:
|
|
425
|
+
case "end":
|
|
426
|
+
return _context9.stop();
|
|
453
427
|
}
|
|
454
428
|
}, _callee9, this);
|
|
455
429
|
}));
|
|
@@ -464,54 +438,52 @@ var ParquetReader = function () {
|
|
|
464
438
|
var _readRowGroup = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee10(schema, rowGroup, columnList) {
|
|
465
439
|
var buffer, _iterator5, _step5, colChunk, colMetadata, colKey;
|
|
466
440
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
467
|
-
while (1) {
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
_context10.next = 15;
|
|
480
|
-
break;
|
|
481
|
-
}
|
|
482
|
-
colChunk = _step5.value;
|
|
483
|
-
colMetadata = colChunk.meta_data;
|
|
484
|
-
colKey = colMetadata === null || colMetadata === void 0 ? void 0 : colMetadata.path_in_schema;
|
|
485
|
-
if (!(columnList.length > 0 && (0, _readUtils.fieldIndexOf)(columnList, colKey) < 0)) {
|
|
486
|
-
_context10.next = 10;
|
|
487
|
-
break;
|
|
488
|
-
}
|
|
489
|
-
return _context10.abrupt("continue", 13);
|
|
490
|
-
case 10:
|
|
491
|
-
_context10.next = 12;
|
|
492
|
-
return this.readColumnChunk(schema, colChunk);
|
|
493
|
-
case 12:
|
|
494
|
-
buffer.columnData[colKey.join()] = _context10.sent;
|
|
495
|
-
case 13:
|
|
496
|
-
_context10.next = 4;
|
|
441
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
442
|
+
case 0:
|
|
443
|
+
buffer = {
|
|
444
|
+
rowCount: Number(rowGroup.num_rows),
|
|
445
|
+
columnData: {}
|
|
446
|
+
};
|
|
447
|
+
_iterator5 = _createForOfIteratorHelper(rowGroup.columns);
|
|
448
|
+
_context10.prev = 2;
|
|
449
|
+
_iterator5.s();
|
|
450
|
+
case 4:
|
|
451
|
+
if ((_step5 = _iterator5.n()).done) {
|
|
452
|
+
_context10.next = 15;
|
|
497
453
|
break;
|
|
498
|
-
|
|
499
|
-
|
|
454
|
+
}
|
|
455
|
+
colChunk = _step5.value;
|
|
456
|
+
colMetadata = colChunk.meta_data;
|
|
457
|
+
colKey = colMetadata === null || colMetadata === void 0 ? void 0 : colMetadata.path_in_schema;
|
|
458
|
+
if (!(columnList.length > 0 && (0, _readUtils.fieldIndexOf)(columnList, colKey) < 0)) {
|
|
459
|
+
_context10.next = 10;
|
|
500
460
|
break;
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
461
|
+
}
|
|
462
|
+
return _context10.abrupt("continue", 13);
|
|
463
|
+
case 10:
|
|
464
|
+
_context10.next = 12;
|
|
465
|
+
return this.readColumnChunk(schema, colChunk);
|
|
466
|
+
case 12:
|
|
467
|
+
buffer.columnData[colKey.join()] = _context10.sent;
|
|
468
|
+
case 13:
|
|
469
|
+
_context10.next = 4;
|
|
470
|
+
break;
|
|
471
|
+
case 15:
|
|
472
|
+
_context10.next = 20;
|
|
473
|
+
break;
|
|
474
|
+
case 17:
|
|
475
|
+
_context10.prev = 17;
|
|
476
|
+
_context10.t0 = _context10["catch"](2);
|
|
477
|
+
_iterator5.e(_context10.t0);
|
|
478
|
+
case 20:
|
|
479
|
+
_context10.prev = 20;
|
|
480
|
+
_iterator5.f();
|
|
481
|
+
return _context10.finish(20);
|
|
482
|
+
case 23:
|
|
483
|
+
return _context10.abrupt("return", buffer);
|
|
484
|
+
case 24:
|
|
485
|
+
case "end":
|
|
486
|
+
return _context10.stop();
|
|
515
487
|
}
|
|
516
488
|
}, _callee10, this, [[2, 17, 20, 23]]);
|
|
517
489
|
}));
|
|
@@ -527,64 +499,62 @@ var ParquetReader = function () {
|
|
|
527
499
|
var _colChunk$meta_data, _colChunk$meta_data2, _colChunk$meta_data3, _colChunk$meta_data4, _colChunk$meta_data5, _colChunk$meta_data7, _colChunk$meta_data8, _options$dictionary;
|
|
528
500
|
var field, type, compression, pagesOffset, pagesSize, _colChunk$meta_data6, options, dictionary, dictionaryPageOffset, dictionaryOffset, pagesBuf;
|
|
529
501
|
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
530
|
-
while (1) {
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
return _context11.stop();
|
|
587
|
-
}
|
|
502
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
503
|
+
case 0:
|
|
504
|
+
if (!(colChunk.file_path !== undefined && colChunk.file_path !== null)) {
|
|
505
|
+
_context11.next = 2;
|
|
506
|
+
break;
|
|
507
|
+
}
|
|
508
|
+
throw new Error('external references are not supported');
|
|
509
|
+
case 2:
|
|
510
|
+
field = schema.findField((_colChunk$meta_data = colChunk.meta_data) === null || _colChunk$meta_data === void 0 ? void 0 : _colChunk$meta_data.path_in_schema);
|
|
511
|
+
type = (0, _readUtils.getThriftEnum)(_parquetThrift.Type, (_colChunk$meta_data2 = colChunk.meta_data) === null || _colChunk$meta_data2 === void 0 ? void 0 : _colChunk$meta_data2.type);
|
|
512
|
+
if (!(type !== field.primitiveType)) {
|
|
513
|
+
_context11.next = 6;
|
|
514
|
+
break;
|
|
515
|
+
}
|
|
516
|
+
throw new Error("chunk type not matching schema: ".concat(type));
|
|
517
|
+
case 6:
|
|
518
|
+
compression = (0, _readUtils.getThriftEnum)(_parquetThrift.CompressionCodec, (_colChunk$meta_data3 = colChunk.meta_data) === null || _colChunk$meta_data3 === void 0 ? void 0 : _colChunk$meta_data3.codec);
|
|
519
|
+
pagesOffset = Number((_colChunk$meta_data4 = colChunk.meta_data) === null || _colChunk$meta_data4 === void 0 ? void 0 : _colChunk$meta_data4.data_page_offset);
|
|
520
|
+
pagesSize = Number((_colChunk$meta_data5 = colChunk.meta_data) === null || _colChunk$meta_data5 === void 0 ? void 0 : _colChunk$meta_data5.total_compressed_size);
|
|
521
|
+
if (!colChunk.file_path) {
|
|
522
|
+
pagesSize = Math.min(this.file.size - pagesOffset, Number((_colChunk$meta_data6 = colChunk.meta_data) === null || _colChunk$meta_data6 === void 0 ? void 0 : _colChunk$meta_data6.total_compressed_size));
|
|
523
|
+
}
|
|
524
|
+
options = {
|
|
525
|
+
type: type,
|
|
526
|
+
rLevelMax: field.rLevelMax,
|
|
527
|
+
dLevelMax: field.dLevelMax,
|
|
528
|
+
compression: compression,
|
|
529
|
+
column: field,
|
|
530
|
+
numValues: (_colChunk$meta_data7 = colChunk.meta_data) === null || _colChunk$meta_data7 === void 0 ? void 0 : _colChunk$meta_data7.num_values,
|
|
531
|
+
dictionary: []
|
|
532
|
+
};
|
|
533
|
+
dictionaryPageOffset = colChunk === null || colChunk === void 0 ? void 0 : (_colChunk$meta_data8 = colChunk.meta_data) === null || _colChunk$meta_data8 === void 0 ? void 0 : _colChunk$meta_data8.dictionary_page_offset;
|
|
534
|
+
if (!dictionaryPageOffset) {
|
|
535
|
+
_context11.next = 17;
|
|
536
|
+
break;
|
|
537
|
+
}
|
|
538
|
+
dictionaryOffset = Number(dictionaryPageOffset);
|
|
539
|
+
_context11.next = 16;
|
|
540
|
+
return this.getDictionary(dictionaryOffset, options, pagesOffset);
|
|
541
|
+
case 16:
|
|
542
|
+
dictionary = _context11.sent;
|
|
543
|
+
case 17:
|
|
544
|
+
dictionary = (_options$dictionary = options.dictionary) !== null && _options$dictionary !== void 0 && _options$dictionary.length ? options.dictionary : dictionary;
|
|
545
|
+
_context11.next = 20;
|
|
546
|
+
return this.file.read(pagesOffset, pagesSize);
|
|
547
|
+
case 20:
|
|
548
|
+
pagesBuf = _context11.sent;
|
|
549
|
+
_context11.next = 23;
|
|
550
|
+
return (0, _decoders.decodeDataPages)(pagesBuf, _objectSpread(_objectSpread({}, options), {}, {
|
|
551
|
+
dictionary: dictionary
|
|
552
|
+
}));
|
|
553
|
+
case 23:
|
|
554
|
+
return _context11.abrupt("return", _context11.sent);
|
|
555
|
+
case 24:
|
|
556
|
+
case "end":
|
|
557
|
+
return _context11.stop();
|
|
588
558
|
}
|
|
589
559
|
}, _callee11, this);
|
|
590
560
|
}));
|
|
@@ -599,34 +569,32 @@ var ParquetReader = function () {
|
|
|
599
569
|
var _getDictionary = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee12(dictionaryPageOffset, options, pagesOffset) {
|
|
600
570
|
var dictionarySize, pagesBuf, cursor, decodedPage;
|
|
601
571
|
return _regenerator.default.wrap(function _callee12$(_context12) {
|
|
602
|
-
while (1) {
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
return _context12.stop();
|
|
629
|
-
}
|
|
572
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
573
|
+
case 0:
|
|
574
|
+
if (!(dictionaryPageOffset === 0)) {
|
|
575
|
+
_context12.next = 2;
|
|
576
|
+
break;
|
|
577
|
+
}
|
|
578
|
+
return _context12.abrupt("return", []);
|
|
579
|
+
case 2:
|
|
580
|
+
dictionarySize = Math.min(this.file.size - dictionaryPageOffset, this.props.defaultDictionarySize);
|
|
581
|
+
_context12.next = 5;
|
|
582
|
+
return this.file.read(dictionaryPageOffset, dictionarySize);
|
|
583
|
+
case 5:
|
|
584
|
+
pagesBuf = _context12.sent;
|
|
585
|
+
cursor = {
|
|
586
|
+
buffer: pagesBuf,
|
|
587
|
+
offset: 0,
|
|
588
|
+
size: pagesBuf.length
|
|
589
|
+
};
|
|
590
|
+
_context12.next = 9;
|
|
591
|
+
return (0, _decoders.decodePage)(cursor, options);
|
|
592
|
+
case 9:
|
|
593
|
+
decodedPage = _context12.sent;
|
|
594
|
+
return _context12.abrupt("return", decodedPage.dictionary);
|
|
595
|
+
case 11:
|
|
596
|
+
case "end":
|
|
597
|
+
return _context12.stop();
|
|
630
598
|
}
|
|
631
599
|
}, _callee12, this);
|
|
632
600
|
}));
|