@loaders.gl/parquet 4.2.0 → 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.
- package/dist/index.cjs +15 -3
- package/dist/index.cjs.map +4 -4
- package/dist/lib/constants.js +1 -1
- package/dist/lib/parsers/parse-parquet.d.ts.map +1 -1
- package/dist/lib/parsers/parse-parquet.js +10 -0
- package/dist/parquet-loader.js +1 -1
- package/dist/parquet-writer.js +1 -1
- package/package.json +10 -9
- package/src/lib/parsers/parse-parquet.ts +10 -0
package/dist/lib/constants.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
5
5
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
6
|
-
export const VERSION = typeof "4.2.0
|
|
6
|
+
export const VERSION = typeof "4.2.0" !== 'undefined' ? "4.2.0" : 'latest';
|
|
7
7
|
export const PARQUET_WASM_URL = 'https://unpkg.com/parquet-wasm@0.6.0-beta.1/esm/arrow1_bg.wasm';
|
|
8
8
|
/**
|
|
9
9
|
* Parquet File Magic String
|
|
@@ -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/dist/parquet-loader.js
CHANGED
|
@@ -8,7 +8,7 @@ import { parseParquetFileInColumns, parseParquetFileInColumnarBatches } from "./
|
|
|
8
8
|
export { Buffer } from "./polyfills/buffer/install-buffer-polyfill.js";
|
|
9
9
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
10
10
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
11
|
-
const VERSION = typeof "4.2.0
|
|
11
|
+
const VERSION = typeof "4.2.0" !== 'undefined' ? "4.2.0" : 'latest';
|
|
12
12
|
/**
|
|
13
13
|
* ParquetJS table loader
|
|
14
14
|
*/
|
package/dist/parquet-writer.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
5
5
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
6
|
-
const VERSION = typeof "4.2.0
|
|
6
|
+
const VERSION = typeof "4.2.0" !== 'undefined' ? "4.2.0" : 'latest';
|
|
7
7
|
export const ParquetWriter = {
|
|
8
8
|
name: 'Apache Parquet',
|
|
9
9
|
id: 'parquet',
|
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',
|