@loaders.gl/parquet 4.2.1 → 4.3.0-alpha.1
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-parquet.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-parquet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-parquet.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-parquet.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAE5E,OAAO,KAAK,EAAC,oBAAoB,EAAC,gCAA6B;AAO/D;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAED;;;;GAIG;AACH,wBAAuB,yBAAyB,CAC9C,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAAC,mBAAmB,CAAC,CA0BpC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { default as log } from '@probe.gl/log';
|
|
4
5
|
import { ParquetReader } from "../../parquetjs/parser/parquet-reader.js";
|
|
5
6
|
import { getSchemaFromParquetReader } from "./get-parquet-schema.js";
|
|
6
7
|
import { installBufferPolyfill } from "../../polyfills/buffer/index.js";
|
|
@@ -21,10 +22,19 @@ export async function parseParquetFile(file, options) {
|
|
|
21
22
|
const rows = [];
|
|
22
23
|
const rowBatches = reader.rowBatchIterator(options?.parquet);
|
|
23
24
|
for await (const rowBatch of rowBatches) {
|
|
25
|
+
let limitHasReached = false;
|
|
24
26
|
// we have only one input batch so return
|
|
25
27
|
for (const row of rowBatch) {
|
|
28
|
+
if (options?.limit && rows.length >= options?.limit) {
|
|
29
|
+
limitHasReached = true;
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
26
32
|
rows.push(row);
|
|
27
33
|
}
|
|
34
|
+
if (limitHasReached) {
|
|
35
|
+
log.warn(`Rows number limit has been reached. Only first ${options?.limit} are loaded`)();
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
28
38
|
}
|
|
29
39
|
const objectRowTable = {
|
|
30
40
|
shape: 'object-row-table',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/parquet",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0-alpha.1",
|
|
4
4
|
"description": "Framework-independent loader for Apache Parquet files",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -60,13 +60,14 @@
|
|
|
60
60
|
"base64-js and ieee754 are used by buffer polyfill"
|
|
61
61
|
],
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@loaders.gl/arrow": "4.
|
|
64
|
-
"@loaders.gl/bson": "4.
|
|
65
|
-
"@loaders.gl/compression": "4.
|
|
66
|
-
"@loaders.gl/gis": "4.
|
|
67
|
-
"@loaders.gl/loader-utils": "4.
|
|
68
|
-
"@loaders.gl/schema": "4.
|
|
69
|
-
"@loaders.gl/wkt": "4.
|
|
63
|
+
"@loaders.gl/arrow": "4.3.0-alpha.1",
|
|
64
|
+
"@loaders.gl/bson": "4.3.0-alpha.1",
|
|
65
|
+
"@loaders.gl/compression": "4.3.0-alpha.1",
|
|
66
|
+
"@loaders.gl/gis": "4.3.0-alpha.1",
|
|
67
|
+
"@loaders.gl/loader-utils": "4.3.0-alpha.1",
|
|
68
|
+
"@loaders.gl/schema": "4.3.0-alpha.1",
|
|
69
|
+
"@loaders.gl/wkt": "4.3.0-alpha.1",
|
|
70
|
+
"@probe.gl/log": "^4.0.9",
|
|
70
71
|
"async-mutex": "^0.2.2",
|
|
71
72
|
"base64-js": "^1.3.1",
|
|
72
73
|
"brotli": "^1.3.2",
|
|
@@ -93,5 +94,5 @@
|
|
|
93
94
|
"@loaders.gl/core": "^4.0.0",
|
|
94
95
|
"apache-arrow": ">= 15.0.0"
|
|
95
96
|
},
|
|
96
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "568446ea69eb590f0c42d965459b636216cda74e"
|
|
97
98
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
|
+
import {default as log} from '@probe.gl/log';
|
|
5
6
|
import type {ReadableFile} from '@loaders.gl/loader-utils';
|
|
6
7
|
import type {ObjectRowTable, ObjectRowTableBatch} from '@loaders.gl/schema';
|
|
7
8
|
|
|
@@ -35,10 +36,19 @@ export async function parseParquetFile(
|
|
|
35
36
|
|
|
36
37
|
const rowBatches = reader.rowBatchIterator(options?.parquet);
|
|
37
38
|
for await (const rowBatch of rowBatches) {
|
|
39
|
+
let limitHasReached = false;
|
|
38
40
|
// we have only one input batch so return
|
|
39
41
|
for (const row of rowBatch) {
|
|
42
|
+
if (options?.limit && rows.length >= options?.limit) {
|
|
43
|
+
limitHasReached = true;
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
40
46
|
rows.push(row);
|
|
41
47
|
}
|
|
48
|
+
if (limitHasReached) {
|
|
49
|
+
log.warn(`Rows number limit has been reached. Only first ${options?.limit} are loaded`)();
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
42
52
|
}
|
|
43
53
|
const objectRowTable: ObjectRowTable = {
|
|
44
54
|
shape: 'object-row-table',
|