@loaders.gl/scan 5.0.0-alpha.3 → 5.0.0-alpha.5
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/delta.cjs +540 -54
- package/dist/delta.cjs.map +3 -3
- package/dist/dist.min.js +36 -7
- package/dist/hudi.cjs +559 -55
- package/dist/hudi.cjs.map +3 -3
- package/dist/hudi.d.ts +4 -0
- package/dist/hudi.d.ts.map +1 -1
- package/dist/hudi.js +24 -1
- package/dist/hudi.js.map +1 -1
- package/dist/iceberg.cjs +538 -52
- package/dist/iceberg.cjs.map +3 -3
- package/dist/index.cjs +36 -7
- package/dist/index.cjs.map +1 -1
- package/dist/scan-engine.d.ts.map +1 -1
- package/dist/scan-engine.js +9 -7
- package/dist/scan-engine.js.map +1 -1
- package/package.json +8 -8
- package/src/hudi.ts +36 -1
- package/src/scan-engine.ts +11 -7
package/dist/hudi.d.ts
CHANGED
|
@@ -3,9 +3,13 @@ import { DataSource } from '@loaders.gl/loader-utils';
|
|
|
3
3
|
import type { ParquetDatasetBatch, ParquetDatasetExplain, ParquetDatasetReadOptions, ParquetPredicate, ParquetDatasetSourceOptions } from '@loaders.gl/parquet/parquet-source-types';
|
|
4
4
|
/** A physical Parquet base file recorded by a Hudi snapshot descriptor. */
|
|
5
5
|
export type HudiBaseFile = Readonly<{
|
|
6
|
+
/** Path or URL of the Parquet base file. */
|
|
6
7
|
path: string;
|
|
8
|
+
/** Compressed file size in bytes, when recorded by the descriptor. */
|
|
7
9
|
size?: number;
|
|
10
|
+
/** Number of records in the base file, when recorded by the descriptor. */
|
|
8
11
|
numRecords?: number;
|
|
12
|
+
/** Partition column values associated with the base file. */
|
|
9
13
|
partitionValues?: Readonly<Record<string, unknown>>;
|
|
10
14
|
}>;
|
|
11
15
|
/** Minimal, portable descriptor used by the Hudi proof of concept. */
|
package/dist/hudi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hudi.d.ts","sourceRoot":"","sources":["../src/hudi.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAA0B,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAG7E,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,0CAA0C,CAAC;AAElD,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,SAAS,CAAC,EAAE,eAAe,GAAG,eAAe,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,GAAG;IAC5D,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAExD;;;;;GAKG;AACH,qBAAa,eACX,SAAQ,UAAU,CAAC,MAAM,GAAG,IAAI,EAAE,iBAAiB,CACnD,YACE,eAAe,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EACtD,oBAAoB,CAAC,gBAAgB,CAAC;IAExC,OAAO,CAAC,iBAAiB,CAAgD;IAEzE,oEAAoE;gBACxD,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,GAAE,iBAAsB,EAAE,OAAO,CAAC,EAAE,OAAO;IAInF,uDAAuD;IACjD,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAU1E,+EAA+E;IACzE,gBAAgB,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAmBvF,2EAA2E;IACrE,gBAAgB,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsB1F,sEAAsE;IAChE,WAAW,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhF,4EAA4E;IAC5E,IAAI,CAAC,OAAO,GAAE,eAAoB,GAAG,aAAa,CAAC,mBAAmB,CAAC;IAIvE,uDAAuD;IACvD,IAAI,CAAC,OAAO,GAAE,eAAoB,GAAG,aAAa,CAAC,mBAAmB,CAAC;YAIzD,cAAc;
|
|
1
|
+
{"version":3,"file":"hudi.d.ts","sourceRoot":"","sources":["../src/hudi.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAA0B,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAG7E,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,0CAA0C,CAAC;AAElD,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,SAAS,CAAC,EAAE,eAAe,GAAG,eAAe,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,GAAG;IAC5D,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAExD;;;;;GAKG;AACH,qBAAa,eACX,SAAQ,UAAU,CAAC,MAAM,GAAG,IAAI,EAAE,iBAAiB,CACnD,YACE,eAAe,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EACtD,oBAAoB,CAAC,gBAAgB,CAAC;IAExC,OAAO,CAAC,iBAAiB,CAAgD;IAEzE,oEAAoE;gBACxD,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,GAAE,iBAAsB,EAAE,OAAO,CAAC,EAAE,OAAO;IAInF,uDAAuD;IACjD,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAU1E,+EAA+E;IACzE,gBAAgB,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAmBvF,2EAA2E;IACrE,gBAAgB,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsB1F,sEAAsE;IAChE,WAAW,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhF,4EAA4E;IAC5E,IAAI,CAAC,OAAO,GAAE,eAAoB,GAAG,aAAa,CAAC,mBAAmB,CAAC;IAIvE,uDAAuD;IACvD,IAAI,CAAC,OAAO,GAAE,eAAoB,GAAG,aAAa,CAAC,mBAAmB,CAAC;YAIzD,cAAc;IA4D5B,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,eAAe;CAKxB"}
|
package/dist/hudi.js
CHANGED
|
@@ -75,7 +75,7 @@ export class HudiTableSource extends DataSource {
|
|
|
75
75
|
}
|
|
76
76
|
async loadDescriptor(signal) {
|
|
77
77
|
const text = typeof this.data === 'string'
|
|
78
|
-
? await (await this.fetch(this.
|
|
78
|
+
? await (await this.fetch(this.url, { headers: this.options.hudi?.headers, signal })).text()
|
|
79
79
|
: await this.data.text();
|
|
80
80
|
let descriptor;
|
|
81
81
|
try {
|
|
@@ -90,6 +90,29 @@ export class HudiTableSource extends DataSource {
|
|
|
90
90
|
if (!Array.isArray(files)) {
|
|
91
91
|
throw new Error('Hudi snapshot descriptor must contain a files array');
|
|
92
92
|
}
|
|
93
|
+
for (const [index, file] of files.entries()) {
|
|
94
|
+
if (!file || typeof file !== 'object' || Array.isArray(file)) {
|
|
95
|
+
throw new Error(`Hudi snapshot file at index ${index} must be an object`);
|
|
96
|
+
}
|
|
97
|
+
const value = file;
|
|
98
|
+
if (typeof value.path !== 'string' || !value.path) {
|
|
99
|
+
throw new Error(`Hudi snapshot file at index ${index} must contain a non-empty string path`);
|
|
100
|
+
}
|
|
101
|
+
if (value.size !== undefined &&
|
|
102
|
+
(typeof value.size !== 'number' || !Number.isFinite(value.size))) {
|
|
103
|
+
throw new Error(`Hudi snapshot file at index ${index} size must be a finite number`);
|
|
104
|
+
}
|
|
105
|
+
if (value.numRecords !== undefined &&
|
|
106
|
+
(typeof value.numRecords !== 'number' || !Number.isFinite(value.numRecords))) {
|
|
107
|
+
throw new Error(`Hudi snapshot file at index ${index} numRecords must be a finite number`);
|
|
108
|
+
}
|
|
109
|
+
if (value.partitionValues !== undefined &&
|
|
110
|
+
(!value.partitionValues ||
|
|
111
|
+
typeof value.partitionValues !== 'object' ||
|
|
112
|
+
Array.isArray(value.partitionValues))) {
|
|
113
|
+
throw new Error(`Hudi snapshot file at index ${index} partitionValues must be an object`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
93
116
|
const value = descriptor;
|
|
94
117
|
if (value.tableType &&
|
|
95
118
|
value.tableType !== 'COPY_ON_WRITE' &&
|
package/dist/hudi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hudi.js","sourceRoot":"","sources":["../src/hudi.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAUpC,OAAO,EAAC,uBAAuB,EAAE,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAC,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAC,gCAAgC,EAAC,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"hudi.js","sourceRoot":"","sources":["../src/hudi.ts"],"names":[],"mappings":"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"}
|