@loaders.gl/parquet 5.0.0-alpha.2 → 5.0.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.
Files changed (326) hide show
  1. package/LICENSE +1 -1
  2. package/dist/bundled.d.ts +1 -1
  3. package/dist/bundled.d.ts.map +1 -1
  4. package/dist/bundled.js.map +1 -1
  5. package/dist/delta-format.d.ts +9 -0
  6. package/dist/delta-format.d.ts.map +1 -0
  7. package/dist/delta-format.js +12 -0
  8. package/dist/delta-format.js.map +1 -0
  9. package/dist/delta-source-loader-types.d.ts +27 -0
  10. package/dist/delta-source-loader-types.d.ts.map +1 -0
  11. package/dist/delta-source-loader-types.js +28 -0
  12. package/dist/delta-source-loader-types.js.map +1 -0
  13. package/dist/delta-source.d.ts +48 -0
  14. package/dist/delta-source.d.ts.map +1 -0
  15. package/dist/delta-source.js +222 -0
  16. package/dist/delta-source.js.map +1 -0
  17. package/dist/delta-types.d.ts +38 -0
  18. package/dist/delta-types.d.ts.map +1 -0
  19. package/dist/delta-types.js +5 -0
  20. package/dist/delta-types.js.map +1 -0
  21. package/dist/geoparquet-loader.js +1 -1
  22. package/dist/iceberg-rest-catalog.d.ts +49 -0
  23. package/dist/iceberg-rest-catalog.d.ts.map +1 -0
  24. package/dist/iceberg-rest-catalog.js +78 -0
  25. package/dist/iceberg-rest-catalog.js.map +1 -0
  26. package/dist/iceberg-table-source.d.ts +63 -0
  27. package/dist/iceberg-table-source.d.ts.map +1 -0
  28. package/dist/iceberg-table-source.js +797 -0
  29. package/dist/iceberg-table-source.js.map +1 -0
  30. package/dist/iceberg-types.d.ts +150 -0
  31. package/dist/iceberg-types.d.ts.map +1 -0
  32. package/dist/iceberg-types.js +5 -0
  33. package/dist/iceberg-types.js.map +1 -0
  34. package/dist/index.cjs +15005 -3143
  35. package/dist/index.cjs.map +3 -3
  36. package/dist/index.d.ts +7 -3
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +5 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/lib/arrow/convert-schema-from-parquet.d.ts +3 -1
  41. package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -1
  42. package/dist/lib/arrow/convert-schema-from-parquet.js +94 -19
  43. package/dist/lib/arrow/convert-schema-from-parquet.js.map +1 -1
  44. package/dist/lib/arrow/create-nested-arrow-vector.js +89 -0
  45. package/dist/lib/arrow/create-nested-arrow-vector.js.map +1 -1
  46. package/dist/lib/constants.js +1 -1
  47. package/dist/lib/encoders/encode-table-to-parquet-js.d.ts.map +1 -1
  48. package/dist/lib/encoders/encode-table-to-parquet-js.js +202 -7
  49. package/dist/lib/encoders/encode-table-to-parquet-js.js.map +1 -1
  50. package/dist/lib/geo/geoparquet-covering.d.ts +19 -0
  51. package/dist/lib/geo/geoparquet-covering.d.ts.map +1 -0
  52. package/dist/lib/geo/geoparquet-covering.js +137 -0
  53. package/dist/lib/geo/geoparquet-covering.js.map +1 -0
  54. package/dist/lib/geo/geospatial-metadata.d.ts.map +1 -1
  55. package/dist/lib/geo/geospatial-metadata.js +39 -13
  56. package/dist/lib/geo/geospatial-metadata.js.map +1 -1
  57. package/dist/lib/parquet-bloom-filter-planner.d.ts +16 -0
  58. package/dist/lib/parquet-bloom-filter-planner.d.ts.map +1 -0
  59. package/dist/lib/parquet-bloom-filter-planner.js +57 -0
  60. package/dist/lib/parquet-bloom-filter-planner.js.map +1 -0
  61. package/dist/lib/parquet-bloom-filter.d.ts +30 -0
  62. package/dist/lib/parquet-bloom-filter.d.ts.map +1 -0
  63. package/dist/lib/parquet-bloom-filter.js +289 -0
  64. package/dist/lib/parquet-bloom-filter.js.map +1 -0
  65. package/dist/lib/parquet-encryption.d.ts +80 -0
  66. package/dist/lib/parquet-encryption.d.ts.map +1 -0
  67. package/dist/lib/parquet-encryption.js +190 -0
  68. package/dist/lib/parquet-encryption.js.map +1 -0
  69. package/dist/lib/parquet-page-index.d.ts +34 -5
  70. package/dist/lib/parquet-page-index.d.ts.map +1 -1
  71. package/dist/lib/parquet-page-index.js +114 -28
  72. package/dist/lib/parquet-page-index.js.map +1 -1
  73. package/dist/lib/parquet-predicate.d.ts +5 -1
  74. package/dist/lib/parquet-predicate.d.ts.map +1 -1
  75. package/dist/lib/parquet-predicate.js +42 -14
  76. package/dist/lib/parquet-predicate.js.map +1 -1
  77. package/dist/lib/parquet-source-worker-decoder.d.ts +4 -1
  78. package/dist/lib/parquet-source-worker-decoder.d.ts.map +1 -1
  79. package/dist/lib/parquet-source-worker-decoder.js +83 -17
  80. package/dist/lib/parquet-source-worker-decoder.js.map +1 -1
  81. package/dist/lib/parquet-source-worker-types.d.ts +24 -0
  82. package/dist/lib/parquet-source-worker-types.d.ts.map +1 -1
  83. package/dist/lib/parsers/get-parquet-schema.d.ts.map +1 -1
  84. package/dist/lib/parsers/get-parquet-schema.js +3 -1
  85. package/dist/lib/parsers/get-parquet-schema.js.map +1 -1
  86. package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts.map +1 -1
  87. package/dist/lib/parsers/parse-parquet-to-arrow-js.js +327 -18
  88. package/dist/lib/parsers/parse-parquet-to-arrow-js.js.map +1 -1
  89. package/dist/lib/parsers/parse-parquet-to-arrow.d.ts.map +1 -1
  90. package/dist/lib/parsers/parse-parquet-to-arrow.js +5 -5
  91. package/dist/lib/parsers/parse-parquet-to-arrow.js.map +1 -1
  92. package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -1
  93. package/dist/lib/parsers/parse-parquet-to-columns.js +3 -1
  94. package/dist/lib/parsers/parse-parquet-to-columns.js.map +1 -1
  95. package/dist/lib/parsers/parse-parquet-to-json.d.ts.map +1 -1
  96. package/dist/lib/parsers/parse-parquet-to-json.js +18 -2
  97. package/dist/lib/parsers/parse-parquet-to-json.js.map +1 -1
  98. package/dist/lib/slice-parquet-batch.d.ts +9 -0
  99. package/dist/lib/slice-parquet-batch.d.ts.map +1 -0
  100. package/dist/lib/slice-parquet-batch.js +28 -0
  101. package/dist/lib/slice-parquet-batch.js.map +1 -0
  102. package/dist/lib/sources/parquet-range-file.d.ts +1 -1
  103. package/dist/lib/sources/parquet-range-file.d.ts.map +1 -1
  104. package/dist/lib/sources/parquet-range-file.js +28 -22
  105. package/dist/lib/sources/parquet-range-file.js.map +1 -1
  106. package/dist/lib/utils/normalize-parquet-options.d.ts.map +1 -1
  107. package/dist/lib/utils/normalize-parquet-options.js +15 -1
  108. package/dist/lib/utils/normalize-parquet-options.js.map +1 -1
  109. package/dist/parquet-dataset-source.cjs +15766 -4896
  110. package/dist/parquet-dataset-source.cjs.map +3 -3
  111. package/dist/parquet-dataset-source.d.ts +31 -4
  112. package/dist/parquet-dataset-source.d.ts.map +1 -1
  113. package/dist/parquet-dataset-source.js +296 -74
  114. package/dist/parquet-dataset-source.js.map +1 -1
  115. package/dist/parquet-js-loader-types.d.ts +2 -0
  116. package/dist/parquet-js-loader-types.d.ts.map +1 -1
  117. package/dist/parquet-js-loader-types.js +2 -1
  118. package/dist/parquet-js-loader-types.js.map +1 -1
  119. package/dist/parquet-js-loader.d.ts +1 -0
  120. package/dist/parquet-js-loader.d.ts.map +1 -1
  121. package/dist/parquet-js-loader.js +2 -1
  122. package/dist/parquet-js-loader.js.map +1 -1
  123. package/dist/parquet-js-writer.d.ts +23 -2
  124. package/dist/parquet-js-writer.d.ts.map +1 -1
  125. package/dist/parquet-js-writer.js +1 -1
  126. package/dist/parquet-js-writer.js.map +1 -1
  127. package/dist/parquet-loader-base.js +1 -1
  128. package/dist/parquet-loader-options.d.ts +11 -0
  129. package/dist/parquet-loader-options.d.ts.map +1 -1
  130. package/dist/parquet-loader-options.js.map +1 -1
  131. package/dist/parquet-source-capabilities.d.ts +8 -1
  132. package/dist/parquet-source-capabilities.d.ts.map +1 -1
  133. package/dist/parquet-source-capabilities.js +10 -0
  134. package/dist/parquet-source-capabilities.js.map +1 -1
  135. package/dist/parquet-source-loader-types.d.ts +10 -0
  136. package/dist/parquet-source-loader-types.d.ts.map +1 -1
  137. package/dist/parquet-source-loader-types.js +11 -1
  138. package/dist/parquet-source-loader-types.js.map +1 -1
  139. package/dist/parquet-source-loader.cjs +14911 -4316
  140. package/dist/parquet-source-loader.cjs.map +3 -3
  141. package/dist/parquet-source-loader.d.ts +42 -4
  142. package/dist/parquet-source-loader.d.ts.map +1 -1
  143. package/dist/parquet-source-loader.js +585 -38
  144. package/dist/parquet-source-loader.js.map +1 -1
  145. package/dist/parquet-source-types.d.ts +180 -30
  146. package/dist/parquet-source-types.d.ts.map +1 -1
  147. package/dist/parquet-source-worker.js +7055 -6989
  148. package/dist/parquet-source-worker.js.map +4 -4
  149. package/dist/parquet-worker-node.cjs +8505 -1041
  150. package/dist/parquet-worker-node.cjs.map +4 -4
  151. package/dist/parquet-worker-url.js +5 -1
  152. package/dist/parquet-worker-url.js.map +1 -1
  153. package/dist/parquet-worker.js +289 -218
  154. package/dist/parquet-worker.js.map +4 -4
  155. package/dist/parquetjs/codecs/declare.d.ts +15 -0
  156. package/dist/parquetjs/codecs/declare.d.ts.map +1 -1
  157. package/dist/parquetjs/codecs/declare.js +10 -0
  158. package/dist/parquetjs/codecs/declare.js.map +1 -1
  159. package/dist/parquetjs/codecs/delta.d.ts.map +1 -1
  160. package/dist/parquetjs/codecs/delta.js +356 -7
  161. package/dist/parquetjs/codecs/delta.js.map +1 -1
  162. package/dist/parquetjs/codecs/index.d.ts.map +1 -1
  163. package/dist/parquetjs/codecs/index.js +4 -0
  164. package/dist/parquetjs/codecs/index.js.map +1 -1
  165. package/dist/parquetjs/codecs/plain.d.ts +1 -1
  166. package/dist/parquetjs/codecs/plain.d.ts.map +1 -1
  167. package/dist/parquetjs/codecs/plain.js +153 -12
  168. package/dist/parquetjs/codecs/plain.js.map +1 -1
  169. package/dist/parquetjs/codecs/rle.d.ts +4 -0
  170. package/dist/parquetjs/codecs/rle.d.ts.map +1 -1
  171. package/dist/parquetjs/codecs/rle.js +406 -3
  172. package/dist/parquetjs/codecs/rle.js.map +1 -1
  173. package/dist/parquetjs/compression.d.ts +9 -0
  174. package/dist/parquetjs/compression.d.ts.map +1 -1
  175. package/dist/parquetjs/compression.js +86 -67
  176. package/dist/parquetjs/compression.js.map +1 -1
  177. package/dist/parquetjs/encoder/dictionary-planner.d.ts.map +1 -1
  178. package/dist/parquetjs/encoder/dictionary-planner.js +5 -2
  179. package/dist/parquetjs/encoder/dictionary-planner.js.map +1 -1
  180. package/dist/parquetjs/encoder/parquet-encoder.d.ts +43 -1
  181. package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -1
  182. package/dist/parquetjs/encoder/parquet-encoder.js +691 -34
  183. package/dist/parquetjs/encoder/parquet-encoder.js.map +1 -1
  184. package/dist/parquetjs/parquet-thrift/BoundingBox.d.ts +29 -0
  185. package/dist/parquetjs/parquet-thrift/BoundingBox.d.ts.map +1 -0
  186. package/dist/parquetjs/parquet-thrift/BoundingBox.js +85 -0
  187. package/dist/parquetjs/parquet-thrift/BoundingBox.js.map +1 -0
  188. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts +5 -0
  189. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -1
  190. package/dist/parquetjs/parquet-thrift/ColumnChunk.js +35 -0
  191. package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
  192. package/dist/parquetjs/parquet-thrift/ColumnCryptoMetaData.d.ts +35 -0
  193. package/dist/parquetjs/parquet-thrift/ColumnCryptoMetaData.d.ts.map +1 -0
  194. package/dist/parquetjs/parquet-thrift/ColumnCryptoMetaData.js +135 -0
  195. package/dist/parquetjs/parquet-thrift/ColumnCryptoMetaData.js.map +1 -0
  196. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts +10 -0
  197. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -1
  198. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +73 -0
  199. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
  200. package/dist/parquetjs/parquet-thrift/EncryptionAlgorithm.d.ts +22 -0
  201. package/dist/parquetjs/parquet-thrift/EncryptionAlgorithm.d.ts.map +1 -0
  202. package/dist/parquetjs/parquet-thrift/EncryptionAlgorithm.js +111 -0
  203. package/dist/parquetjs/parquet-thrift/EncryptionAlgorithm.js.map +1 -0
  204. package/dist/parquetjs/parquet-thrift/FileCryptoMetaData.d.ts +16 -0
  205. package/dist/parquetjs/parquet-thrift/FileCryptoMetaData.d.ts.map +1 -0
  206. package/dist/parquetjs/parquet-thrift/FileCryptoMetaData.js +57 -0
  207. package/dist/parquetjs/parquet-thrift/FileCryptoMetaData.js.map +1 -0
  208. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts +5 -0
  209. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -1
  210. package/dist/parquetjs/parquet-thrift/FileMetaData.js +35 -0
  211. package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
  212. package/dist/parquetjs/parquet-thrift/GeospatialStatistics.d.ts +18 -0
  213. package/dist/parquetjs/parquet-thrift/GeospatialStatistics.d.ts.map +1 -0
  214. package/dist/parquetjs/parquet-thrift/GeospatialStatistics.js +62 -0
  215. package/dist/parquetjs/parquet-thrift/GeospatialStatistics.js.map +1 -0
  216. package/dist/parquetjs/parquet-thrift/SizeStatistics.d.ts +26 -0
  217. package/dist/parquetjs/parquet-thrift/SizeStatistics.d.ts.map +1 -0
  218. package/dist/parquetjs/parquet-thrift/SizeStatistics.js +85 -0
  219. package/dist/parquetjs/parquet-thrift/SizeStatistics.js.map +1 -0
  220. package/dist/parquetjs/parquet-thrift/index.d.ts +6 -0
  221. package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -1
  222. package/dist/parquetjs/parquet-thrift/index.js +6 -0
  223. package/dist/parquetjs/parquet-thrift/index.js.map +1 -1
  224. package/dist/parquetjs/parser/decoders.d.ts +10 -1
  225. package/dist/parquetjs/parser/decoders.d.ts.map +1 -1
  226. package/dist/parquetjs/parser/decoders.js +318 -14
  227. package/dist/parquetjs/parser/decoders.js.map +1 -1
  228. package/dist/parquetjs/parser/parquet-reader.d.ts +78 -12
  229. package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -1
  230. package/dist/parquetjs/parser/parquet-reader.js +605 -66
  231. package/dist/parquetjs/parser/parquet-reader.js.map +1 -1
  232. package/dist/parquetjs/schema/declare.d.ts +22 -3
  233. package/dist/parquetjs/schema/declare.d.ts.map +1 -1
  234. package/dist/parquetjs/schema/declare.js.map +1 -1
  235. package/dist/parquetjs/schema/schema.d.ts.map +1 -1
  236. package/dist/parquetjs/schema/schema.js +10 -0
  237. package/dist/parquetjs/schema/schema.js.map +1 -1
  238. package/dist/parquetjs/schema/shred.d.ts.map +1 -1
  239. package/dist/parquetjs/schema/shred.js +219 -11
  240. package/dist/parquetjs/schema/shred.js.map +1 -1
  241. package/dist/parquetjs/schema/types.js +19 -21
  242. package/dist/parquetjs/schema/types.js.map +1 -1
  243. package/dist/parquetjs/schema/variant.d.ts +3 -0
  244. package/dist/parquetjs/schema/variant.d.ts.map +1 -0
  245. package/dist/parquetjs/schema/variant.js +248 -0
  246. package/dist/parquetjs/schema/variant.js.map +1 -0
  247. package/dist/parquetjs/utils/crc32.d.ts +3 -0
  248. package/dist/parquetjs/utils/crc32.d.ts.map +1 -0
  249. package/dist/parquetjs/utils/crc32.js +15 -0
  250. package/dist/parquetjs/utils/crc32.js.map +1 -0
  251. package/dist/parquetjs/utils/read-utils.d.ts +11 -1
  252. package/dist/parquetjs/utils/read-utils.d.ts.map +1 -1
  253. package/dist/parquetjs/utils/read-utils.js +21 -1
  254. package/dist/parquetjs/utils/read-utils.js.map +1 -1
  255. package/dist/unbundled.d.ts +2 -1
  256. package/dist/unbundled.d.ts.map +1 -1
  257. package/dist/unbundled.js +1 -0
  258. package/dist/unbundled.js.map +1 -1
  259. package/package.json +36 -11
  260. package/src/bundled.ts +3 -0
  261. package/src/delta-format.ts +12 -0
  262. package/src/delta-source-loader-types.ts +40 -0
  263. package/src/delta-source.ts +305 -0
  264. package/src/delta-types.ts +40 -0
  265. package/src/iceberg-rest-catalog.ts +122 -0
  266. package/src/iceberg-table-source.ts +1037 -0
  267. package/src/iceberg-types.ts +165 -0
  268. package/src/index.ts +50 -1
  269. package/src/lib/arrow/convert-schema-from-parquet.ts +113 -19
  270. package/src/lib/arrow/create-nested-arrow-vector.ts +116 -0
  271. package/src/lib/encoders/encode-table-to-parquet-js.ts +268 -7
  272. package/src/lib/geo/geoparquet-covering.ts +201 -0
  273. package/src/lib/geo/geospatial-metadata.ts +42 -15
  274. package/src/lib/parquet-bloom-filter-planner.ts +86 -0
  275. package/src/lib/parquet-bloom-filter.ts +345 -0
  276. package/src/lib/parquet-encryption.ts +344 -0
  277. package/src/lib/parquet-page-index.ts +180 -34
  278. package/src/lib/parquet-predicate.ts +52 -16
  279. package/src/lib/parquet-source-worker-decoder.ts +116 -20
  280. package/src/lib/parquet-source-worker-types.ts +25 -0
  281. package/src/lib/parsers/get-parquet-schema.ts +3 -1
  282. package/src/lib/parsers/parse-parquet-to-arrow-js.ts +397 -17
  283. package/src/lib/parsers/parse-parquet-to-arrow.ts +4 -5
  284. package/src/lib/parsers/parse-parquet-to-columns.ts +3 -1
  285. package/src/lib/parsers/parse-parquet-to-json.ts +18 -2
  286. package/src/lib/slice-parquet-batch.ts +32 -0
  287. package/src/lib/sources/parquet-range-file.ts +35 -29
  288. package/src/lib/utils/normalize-parquet-options.ts +17 -1
  289. package/src/parquet-dataset-source.ts +397 -85
  290. package/src/parquet-js-loader-types.ts +1 -0
  291. package/src/parquet-js-loader.ts +2 -1
  292. package/src/parquet-js-writer.ts +30 -0
  293. package/src/parquet-loader-options.ts +11 -0
  294. package/src/parquet-source-capabilities.ts +18 -1
  295. package/src/parquet-source-loader-types.ts +10 -0
  296. package/src/parquet-source-loader.ts +929 -52
  297. package/src/parquet-source-types.ts +197 -28
  298. package/src/parquet-worker-url.ts +6 -1
  299. package/src/parquetjs/codecs/declare.ts +27 -0
  300. package/src/parquetjs/codecs/delta.ts +466 -6
  301. package/src/parquetjs/codecs/index.ts +4 -0
  302. package/src/parquetjs/codecs/plain.ts +177 -11
  303. package/src/parquetjs/codecs/rle.ts +573 -3
  304. package/src/parquetjs/compression.ts +102 -76
  305. package/src/parquetjs/encoder/dictionary-planner.ts +7 -2
  306. package/src/parquetjs/encoder/parquet-encoder.ts +1016 -38
  307. package/src/parquetjs/parquet-thrift/BoundingBox.ts +108 -0
  308. package/src/parquetjs/parquet-thrift/ColumnChunk.ts +35 -0
  309. package/src/parquetjs/parquet-thrift/ColumnCryptoMetaData.ts +139 -0
  310. package/src/parquetjs/parquet-thrift/ColumnMetaData.ts +73 -0
  311. package/src/parquetjs/parquet-thrift/EncryptionAlgorithm.ts +127 -0
  312. package/src/parquetjs/parquet-thrift/FileCryptoMetaData.ts +60 -0
  313. package/src/parquetjs/parquet-thrift/FileMetaData.ts +35 -0
  314. package/src/parquetjs/parquet-thrift/GeospatialStatistics.ts +68 -0
  315. package/src/parquetjs/parquet-thrift/SizeStatistics.ts +98 -0
  316. package/src/parquetjs/parquet-thrift/index.ts +6 -0
  317. package/src/parquetjs/parser/decoders.ts +451 -26
  318. package/src/parquetjs/parser/parquet-reader.ts +935 -87
  319. package/src/parquetjs/schema/declare.ts +22 -2
  320. package/src/parquetjs/schema/schema.ts +10 -0
  321. package/src/parquetjs/schema/shred.ts +238 -11
  322. package/src/parquetjs/schema/types.ts +16 -25
  323. package/src/parquetjs/schema/variant.ts +313 -0
  324. package/src/parquetjs/utils/crc32.ts +15 -0
  325. package/src/parquetjs/utils/read-utils.ts +26 -1
  326. package/src/unbundled.ts +14 -0
@@ -1,14 +1,25 @@
1
- import type { CoreAPI } from '@loaders.gl/loader-utils';
1
+ import { type CoreAPI, type ScanFragment, type ScanFragmentProvider } from '@loaders.gl/loader-utils';
2
2
  import type { Schema } from '@loaders.gl/schema';
3
- import type { ParquetDatasetBatch, ParquetDatasetFileQuery, ParquetDatasetFiles, ParquetDatasetReadOptions, ParquetDatasetSourceOptions, ParquetDatasetTelemetry } from "./parquet-source-types.js";
4
- export type { ParquetDatasetBatch, ParquetDatasetBatchProvenance, ParquetDatasetBoundingBox, ParquetDatasetFile, ParquetDatasetFileCollection, ParquetDatasetFileProvider, ParquetDatasetFileQuery, ParquetDatasetFiles, ParquetDatasetPartitionValue, ParquetDatasetReadOptions, ParquetDatasetSourceOptions, ParquetDatasetTelemetry } from "./parquet-source-types.js";
3
+ import type { ParquetDatasetBatch, ParquetDatasetFileQuery, ParquetDatasetFiles, ParquetDatasetReadOptions, ParquetDatasetExplain, ParquetDatasetSourceOptions, ParquetDatasetTelemetry, ParquetPredicate } from "./parquet-source-types.js";
4
+ export type { ParquetDatasetBatch, ParquetDatasetBatchProvenance, ParquetDatasetBoundingBox, ParquetDatasetExplain, ParquetDatasetFile, ParquetDatasetFileCollection, ParquetDatasetFileScanPlan, ParquetDatasetFileProvider, ParquetDatasetFileQuery, ParquetDatasetFiles, ParquetDatasetPartitionValue, ParquetDatasetReadOptions, ParquetDatasetSourceOptions, ParquetDatasetTelemetry } from "./parquet-source-types.js";
5
5
  /**
6
6
  * Multi-file Parquet source that composes catalog discovery with selective `ParquetSource` reads.
7
7
  *
8
8
  * The source accepts static descriptors or a lazy provider, allowing STAC and other catalogs to be
9
9
  * injected without coupling `@loaders.gl/parquet` to a catalog protocol.
10
10
  */
11
- export declare class ParquetDatasetSource {
11
+ export declare class ParquetDatasetSource implements ScanFragmentProvider<ParquetPredicate> {
12
+ /** Common projection, predicate, limit, streaming, and cancellation capabilities. */
13
+ readonly tableQueryCapabilities: Readonly<{
14
+ projection: import("@loaders.gl/loader-utils").TableQueryOperatorSupport;
15
+ predicate: import("@loaders.gl/loader-utils").TableQueryOperatorSupport;
16
+ limit: import("@loaders.gl/loader-utils").TableQueryOperatorSupport;
17
+ streaming: boolean;
18
+ cancellation: boolean;
19
+ expressions?: import("@loaders.gl/loader-utils").TableQueryOperatorSupport;
20
+ orderBy?: import("@loaders.gl/loader-utils").TableQueryOperatorSupport;
21
+ aggregates?: import("@loaders.gl/loader-utils").TableQueryOperatorSupport;
22
+ }>;
12
23
  /** Static descriptors or lazy catalog-backed file provider. */
13
24
  readonly files: ParquetDatasetFiles;
14
25
  /** Child-source and dataset orchestration options. */
@@ -27,6 +38,16 @@ export declare class ParquetDatasetSource {
27
38
  getSchema(query?: ParquetDatasetFileQuery): Promise<Schema>;
28
39
  /** Returns an immutable snapshot of cumulative dataset and child-source telemetry. */
29
40
  getTelemetry(): ParquetDatasetTelemetry;
41
+ /** Discovers catalog-independent fragments after applying descriptor-level pruning. */
42
+ getScanFragments(options?: ParquetDatasetReadOptions): Promise<readonly ScanFragment[]>;
43
+ /** Plans descriptor discovery and every retained file's Parquet physical scan. */
44
+ getScanPlan(options?: ParquetDatasetReadOptions): Promise<ParquetDatasetExplain>;
45
+ /** Explains the common logical query and physical multi-file Parquet plan. */
46
+ explain(options?: ParquetDatasetReadOptions): Promise<ParquetDatasetExplain>;
47
+ /** Executes a previously computed dataset plan while retaining each file's row-group choices. */
48
+ executeScanPlan(plan: ParquetDatasetExplain, options?: ParquetDatasetReadOptions): AsyncIterable<ParquetDatasetBatch>;
49
+ /** Common scan-architecture alias for ordered multi-file reads. */
50
+ scan(options?: ParquetDatasetReadOptions): AsyncIterable<ParquetDatasetBatch>;
30
51
  /**
31
52
  * Reads selected files as deterministic, file-ordered Arrow batches.
32
53
  *
@@ -37,6 +58,12 @@ export declare class ParquetDatasetSource {
37
58
  /** Permanently closes this dataset source and aborts every active read. */
38
59
  close(): Promise<void>;
39
60
  /** Reads one child source into its bounded file-order queue. */
61
+ private getReadTasks;
62
+ /** Plans retained files through bounded, ordered common scan tasks. */
63
+ private getPlanTasks;
64
+ /** Produces one child physical plan and closes its temporary source. */
65
+ private planFile;
66
+ /** Reads one child source as an asynchronous batch iterable. */
40
67
  private readFile;
41
68
  /** Establishes and validates a stable field schema for concurrently opened files. */
42
69
  private schemaFingerprintPromise;
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-dataset-source.d.ts","sourceRoot":"","sources":["../src/parquet-dataset-source.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAI/C,OAAO,KAAK,EACV,mBAAmB,EAKnB,uBAAuB,EACvB,mBAAmB,EAEnB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EAGxB,kCAA+B;AAEhC,YAAY,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,yBAAyB,EACzB,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACxB,kCAA+B;AAkBhC;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,wDAAwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA8B;IACpE,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAS;IACvB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAE7D,gFAAgF;gBAE9E,KAAK,EAAE,mBAAmB,EAC1B,OAAO,GAAE,2BAAgC,EACzC,OAAO,CAAC,EAAE,OAAO;IAYnB,mGAAmG;IAC7F,SAAS,CAAC,KAAK,GAAE,uBAA4B,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBrE,sFAAsF;IACtF,YAAY,IAAI,uBAAuB;IAOvC;;;;;OAKG;IACI,IAAI,CAAC,OAAO,GAAE,yBAA8B,GAAG,aAAa,CAAC,mBAAmB,CAAC;IAgFxF,2EAA2E;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,gEAAgE;YAClD,QAAQ;IA+BtB,qFAAqF;IACrF,OAAO,CAAC,wBAAwB,CAAgC;IAEhE,wFAAwF;YAC1E,kBAAkB;IAmBhC,+FAA+F;IAC/F,OAAO,CAAC,YAAY;IAIpB,2EAA2E;YAC5D,gBAAgB;IAyB/B,iEAAiE;IACjE,OAAO,CAAC,mBAAmB;IAM3B,6DAA6D;IAC7D,OAAO,CAAC,UAAU;CAKnB"}
1
+ {"version":3,"file":"parquet-dataset-source.d.ts","sourceRoot":"","sources":["../src/parquet-dataset-source.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAG1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAK/C,OAAO,KAAK,EACV,mBAAmB,EAMnB,uBAAuB,EACvB,mBAAmB,EAEnB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EAEvB,gBAAgB,EAGjB,kCAA+B;AAEhC,YAAY,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACxB,kCAA+B;AAsBhC;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,oBAAoB,CAAC,gBAAgB,CAAC;IACjF,qFAAqF;IACrF,QAAQ,CAAC,sBAAsB;;;;;;;;;OAAoC;IACnE,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,wDAAwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA8B;IACpE,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAS;IACvB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAE7D,gFAAgF;gBAE9E,KAAK,EAAE,mBAAmB,EAC1B,OAAO,GAAE,2BAAgC,EACzC,OAAO,CAAC,EAAE,OAAO;IAYnB,mGAAmG;IAC7F,SAAS,CAAC,KAAK,GAAE,uBAA4B,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBrE,sFAAsF;IACtF,YAAY,IAAI,uBAAuB;IAOvC,uFAAuF;IACjF,gBAAgB,CACpB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAuBnC,kFAAkF;IAC5E,WAAW,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+C1F,8EAA8E;IACxE,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAItF,iGAAiG;IAC1F,eAAe,CACpB,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,yBAA8B,GACtC,aAAa,CAAC,mBAAmB,CAAC;IA2CrC,mEAAmE;IACnE,IAAI,CAAC,OAAO,GAAE,yBAA8B,GAAG,aAAa,CAAC,mBAAmB,CAAC;IAIjF;;;;;OAKG;IACI,IAAI,CAAC,OAAO,GAAE,yBAA8B,GAAG,aAAa,CAAC,mBAAmB,CAAC;IA8ExF,2EAA2E;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,gEAAgE;YACjD,YAAY;IAiB3B,uEAAuE;YACxD,YAAY;IAW3B,wEAAwE;YACzD,QAAQ;IAgCvB,gEAAgE;YACjD,QAAQ;IAkCvB,qFAAqF;IACrF,OAAO,CAAC,wBAAwB,CAAgC;IAEhE,wFAAwF;YAC1E,kBAAkB;IAmBhC,+FAA+F;IAC/F,OAAO,CAAC,YAAY;IAOpB,2EAA2E;YAC5D,gBAAgB;IA8B/B,iEAAiE;IACjE,OAAO,CAAC,mBAAmB;IAM3B,6DAA6D;IAC7D,OAAO,CAAC,UAAU;CAKnB"}
@@ -1,8 +1,10 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { SingleBatchQueue } from "./lib/sources/single-batch-queue.js";
4
+ import { executeScanTasks, emitScanExecutionTelemetry, explainTableQuery, validateTableQueryLimit } from '@loaders.gl/loader-utils';
5
5
  import { ParquetSource } from "./parquet-source-loader.js";
6
+ import { sliceParquetBatch } from "./lib/slice-parquet-batch.js";
7
+ import { PARQUET_TABLE_QUERY_CAPABILITIES } from "./parquet-source-capabilities.js";
6
8
  const DEFAULT_FILE_CONCURRENCY = 4;
7
9
  /**
8
10
  * Multi-file Parquet source that composes catalog discovery with selective `ParquetSource` reads.
@@ -11,6 +13,8 @@ const DEFAULT_FILE_CONCURRENCY = 4;
11
13
  * injected without coupling `@loaders.gl/parquet` to a catalog protocol.
12
14
  */
13
15
  export class ParquetDatasetSource {
16
+ /** Common projection, predicate, limit, streaming, and cancellation capabilities. */
17
+ tableQueryCapabilities = PARQUET_TABLE_QUERY_CAPABILITIES;
14
18
  /** Static descriptors or lazy catalog-backed file provider. */
15
19
  files;
16
20
  /** Child-source and dataset orchestration options. */
@@ -62,6 +66,116 @@ export class ParquetDatasetSource {
62
66
  parquet: Object.freeze({ ...this.telemetry.parquet })
63
67
  });
64
68
  }
69
+ /** Discovers catalog-independent fragments after applying descriptor-level pruning. */
70
+ async getScanFragments(options = {}) {
71
+ this.assertOpen();
72
+ const fragments = [];
73
+ const selectedFiles = this.getSelectedFiles(options);
74
+ for await (const indexedFile of selectedFiles) {
75
+ const file = indexedFile.file;
76
+ if (typeof file.data !== 'string' && !file.id) {
77
+ throw new Error('Parquet dataset Blob fragments require an explicit stable id for fragment discovery');
78
+ }
79
+ fragments.push(Object.freeze({
80
+ id: getDatasetFileId(file, indexedFile.index),
81
+ uri: typeof file.data === 'string' ? file.data : undefined,
82
+ partitionValues: file.partitions,
83
+ metadata: file.metadata
84
+ }));
85
+ }
86
+ return Object.freeze(fragments);
87
+ }
88
+ /** Plans descriptor discovery and every retained file's Parquet physical scan. */
89
+ async getScanPlan(options = {}) {
90
+ this.assertOpen();
91
+ validateTableQueryLimit(options.limit);
92
+ const readContext = createDatasetAbortContext(options.signal);
93
+ this.activeReadControllers.add(readContext.abortController);
94
+ const discovery = createParquetDatasetDiscoverySummary();
95
+ const filePlans = [];
96
+ const tasks = this.getPlanTasks(options, readContext.abortController.signal, discovery);
97
+ const fileConcurrency = normalizeFileConcurrency(options.fileConcurrency ?? this.options.parquetDataset?.fileConcurrency);
98
+ try {
99
+ for await (const filePlan of executeScanTasks(tasks, {
100
+ concurrency: fileConcurrency,
101
+ signal: readContext.abortController.signal
102
+ })) {
103
+ filePlans.push(filePlan);
104
+ }
105
+ const firstFilePlan = filePlans[0];
106
+ if (!firstFilePlan) {
107
+ throw new Error('ParquetDatasetSource query selected no files');
108
+ }
109
+ const effectivePredicate = firstFilePlan.parquet.plan.find(step => step.kind === 'filter');
110
+ const effectiveLimit = options.limit ?? this.options.parquet?.limit;
111
+ const explanation = explainTableQuery(firstFilePlan.parquet.sourceColumns, {
112
+ columns: firstFilePlan.parquet.outputColumns,
113
+ predicate: effectivePredicate?.kind === 'filter' ? effectivePredicate.predicate : undefined,
114
+ limit: effectiveLimit
115
+ }, PARQUET_TABLE_QUERY_CAPABILITIES);
116
+ return Object.freeze({
117
+ ...explanation,
118
+ source: 'parquet-dataset',
119
+ files: Object.freeze({ ...discovery }),
120
+ filePlans: Object.freeze(filePlans)
121
+ });
122
+ }
123
+ finally {
124
+ readContext.abortController.abort();
125
+ readContext.removeSignalListener();
126
+ this.activeReadControllers.delete(readContext.abortController);
127
+ }
128
+ }
129
+ /** Explains the common logical query and physical multi-file Parquet plan. */
130
+ async explain(options = {}) {
131
+ return await this.getScanPlan(options);
132
+ }
133
+ /** Executes a previously computed dataset plan while retaining each file's row-group choices. */
134
+ async *executeScanPlan(plan, options = {}) {
135
+ if (plan.source !== 'parquet-dataset') {
136
+ throw new Error('ParquetDatasetSource can only execute dataset scan plans');
137
+ }
138
+ validateTableQueryLimit(options.limit);
139
+ let remainingRows = options.limit ?? this.options.parquet?.limit ?? Number.POSITIVE_INFINITY;
140
+ if (remainingRows === 0)
141
+ return;
142
+ const limitStep = plan.plan.find(step => step.kind === 'limit');
143
+ const readOptions = {
144
+ ...options,
145
+ columns: options.columns ?? plan.outputColumns,
146
+ predicate: options.predicate,
147
+ limit: options.limit ?? (limitStep?.kind === 'limit' ? limitStep.limit : undefined)
148
+ };
149
+ remainingRows = readOptions.limit ?? Number.POSITIVE_INFINITY;
150
+ const readContext = createDatasetAbortContext(readOptions.signal);
151
+ this.activeReadControllers.add(readContext.abortController);
152
+ const filePlans = new Map(plan.filePlans.map(filePlan => [filePlan.fileIndex, filePlan.parquet]));
153
+ const tasks = this.getReadTasks(readOptions, readContext.abortController.signal, filePlans);
154
+ const fileConcurrency = normalizeFileConcurrency(readOptions.fileConcurrency ?? this.options.parquetDataset?.fileConcurrency);
155
+ try {
156
+ for await (const batch of executeScanTasks(tasks, {
157
+ concurrency: fileConcurrency,
158
+ signal: readContext.abortController.signal
159
+ })) {
160
+ const outputBatch = sliceParquetBatch(batch, Math.min(batch.length, remainingRows));
161
+ this.telemetry.batchesEmitted++;
162
+ this.telemetry.rowsEmitted += outputBatch.length;
163
+ yield outputBatch;
164
+ remainingRows -= outputBatch.length;
165
+ if (remainingRows === 0)
166
+ return;
167
+ }
168
+ }
169
+ finally {
170
+ readContext.abortController.abort();
171
+ readContext.removeSignalListener();
172
+ this.activeReadControllers.delete(readContext.abortController);
173
+ }
174
+ }
175
+ /** Common scan-architecture alias for ordered multi-file reads. */
176
+ scan(options = {}) {
177
+ return this.read(options);
178
+ }
65
179
  /**
66
180
  * Reads selected files as deterministic, file-ordered Arrow batches.
67
181
  *
@@ -70,77 +184,59 @@ export class ParquetDatasetSource {
70
184
  */
71
185
  async *read(options = {}) {
72
186
  this.assertOpen();
187
+ validateTableQueryLimit(options.limit);
188
+ const startedAt = Date.now();
189
+ const telemetryBefore = this.getTelemetry();
190
+ let remainingRows = options.limit ?? this.options.parquet?.limit ?? Number.POSITIVE_INFINITY;
191
+ if (remainingRows === 0) {
192
+ emitScanExecutionTelemetry(options.onTelemetry, createParquetDatasetScanExecutionTelemetry(telemetryBefore, this.getTelemetry(), startedAt, 'early-terminated', 'limit'));
193
+ return;
194
+ }
73
195
  const readContext = createDatasetAbortContext(options.signal);
74
196
  this.activeReadControllers.add(readContext.abortController);
75
- const selectedFiles = this.getSelectedFiles({
76
- ...options,
77
- signal: readContext.abortController.signal
78
- });
79
- const iterator = selectedFiles[Symbol.asyncIterator]();
80
- const scheduledReads = new Map();
81
- let nextSchedulePosition = 0;
82
- let nextYieldPosition = 0;
83
- let providerComplete = false;
84
- let discoveryError;
197
+ const tasks = this.getReadTasks(options, readContext.abortController.signal);
85
198
  const fileConcurrency = normalizeFileConcurrency(options.fileConcurrency ?? this.options.parquetDataset?.fileConcurrency);
86
- const scheduleNext = async () => {
87
- if (providerComplete) {
88
- return;
89
- }
90
- const next = await iterator.next();
91
- if (next.done) {
92
- providerComplete = true;
93
- return;
94
- }
95
- const position = nextSchedulePosition++;
96
- const queue = new SingleBatchQueue();
97
- const task = this.readFile(next.value, options, queue, readContext.abortController.signal);
98
- scheduledReads.set(position, { queue, task });
99
- };
100
- const fillAvailableSlots = async () => {
101
- try {
102
- while (scheduledReads.size < fileConcurrency && !providerComplete) {
103
- await scheduleNext();
104
- }
105
- }
106
- catch (error) {
107
- discoveryError = error;
108
- providerComplete = true;
109
- }
110
- };
199
+ let completed = false;
200
+ let limitReached = false;
201
+ let readError;
111
202
  try {
112
- await scheduleNext();
113
- let discoveryPromise = fillAvailableSlots();
114
- while (scheduledReads.size > 0) {
115
- const scheduledRead = scheduledReads.get(nextYieldPosition);
116
- if (!scheduledRead) {
117
- throw new Error('ParquetDatasetSource internal file ordering error');
118
- }
119
- for await (const batch of scheduledRead.queue) {
120
- throwIfAborted(readContext.abortController.signal);
121
- this.telemetry.batchesEmitted++;
122
- this.telemetry.rowsEmitted += batch.length;
123
- yield batch;
124
- }
125
- await scheduledRead.task;
126
- scheduledReads.delete(nextYieldPosition++);
127
- await discoveryPromise;
128
- if (discoveryError !== undefined) {
129
- throw discoveryError;
203
+ for await (const batch of executeScanTasks(tasks, {
204
+ concurrency: fileConcurrency,
205
+ signal: readContext.abortController.signal
206
+ })) {
207
+ const outputBatch = sliceParquetBatch(batch, Math.min(batch.length, remainingRows));
208
+ this.telemetry.batchesEmitted++;
209
+ this.telemetry.rowsEmitted += outputBatch.length;
210
+ yield outputBatch;
211
+ remainingRows -= outputBatch.length;
212
+ if (remainingRows === 0) {
213
+ limitReached = true;
214
+ return;
130
215
  }
131
- discoveryPromise = fillAvailableSlots();
132
- }
133
- await discoveryPromise;
134
- if (discoveryError !== undefined) {
135
- throw discoveryError;
136
216
  }
217
+ completed = true;
218
+ }
219
+ catch (error) {
220
+ readError = error;
221
+ throw error;
137
222
  }
138
223
  finally {
224
+ const cancelled = readContext.abortController.signal.aborted || options.signal?.aborted;
139
225
  readContext.abortController.abort();
140
226
  readContext.removeSignalListener();
141
227
  this.activeReadControllers.delete(readContext.abortController);
142
- await iterator.return?.();
143
- await Promise.allSettled([...scheduledReads.values()].map(read => read.task));
228
+ const status = readError
229
+ ? cancelled
230
+ ? 'cancelled'
231
+ : 'failed'
232
+ : limitReached || !completed
233
+ ? 'early-terminated'
234
+ : 'completed';
235
+ emitScanExecutionTelemetry(options.onTelemetry, createParquetDatasetScanExecutionTelemetry(telemetryBefore, this.getTelemetry(), startedAt, status, limitReached
236
+ ? 'limit'
237
+ : !completed && readError === undefined
238
+ ? 'consumer-return'
239
+ : undefined, readError));
144
240
  }
145
241
  }
146
242
  /** Permanently closes this dataset source and aborts every active read. */
@@ -154,7 +250,55 @@ export class ParquetDatasetSource {
154
250
  }
155
251
  }
156
252
  /** Reads one child source into its bounded file-order queue. */
157
- async readFile(indexedFile, options, queue, signal) {
253
+ async *getReadTasks(options, signal, filePlans) {
254
+ const selectedFiles = this.getSelectedFiles({ ...options, signal });
255
+ for await (const indexedFile of selectedFiles) {
256
+ if (filePlans && !filePlans.has(indexedFile.index)) {
257
+ continue;
258
+ }
259
+ yield {
260
+ run: taskSignal => this.readFile(indexedFile, options, taskSignal, filePlans?.get(indexedFile.index))
261
+ };
262
+ }
263
+ }
264
+ /** Plans retained files through bounded, ordered common scan tasks. */
265
+ async *getPlanTasks(options, signal, discovery) {
266
+ const selectedFiles = this.getSelectedFiles({ ...options, signal }, discovery);
267
+ for await (const indexedFile of selectedFiles) {
268
+ yield { run: taskSignal => this.planFile(indexedFile, options, taskSignal) };
269
+ }
270
+ }
271
+ /** Produces one child physical plan and closes its temporary source. */
272
+ async *planFile(indexedFile, options, signal) {
273
+ const source = this.createSource(indexedFile.file);
274
+ this.telemetry.filesOpened++;
275
+ try {
276
+ if (this.options.parquetDataset?.validateSchema !== false) {
277
+ await this.validateFileSchema(source, indexedFile, signal);
278
+ }
279
+ const parquet = await source.getScanPlan({
280
+ columns: options.columns,
281
+ predicate: options.predicate,
282
+ bbox: options.bbox,
283
+ geometryColumn: options.geometryColumn,
284
+ rowGroupFilter: options.rowGroupFilter,
285
+ limit: undefined,
286
+ signal
287
+ });
288
+ yield Object.freeze({
289
+ fileIndex: indexedFile.index,
290
+ fileId: getDatasetFileId(indexedFile.file, indexedFile.index),
291
+ partitions: indexedFile.file.partitions,
292
+ parquet
293
+ });
294
+ }
295
+ finally {
296
+ await source.close();
297
+ this.addParquetTelemetry(source.getTelemetry());
298
+ }
299
+ }
300
+ /** Reads one child source as an asynchronous batch iterable. */
301
+ async *readFile(indexedFile, options, signal, scanPlan) {
158
302
  const source = this.createSource(indexedFile.file);
159
303
  this.telemetry.filesOpened++;
160
304
  try {
@@ -165,16 +309,19 @@ export class ParquetDatasetSource {
165
309
  columns: options.columns,
166
310
  batchSize: options.batchSize,
167
311
  concurrency: options.concurrency,
312
+ rowGroups: scanPlan?.rowGroups.indices,
168
313
  rowGroupFilter: options.rowGroupFilter,
169
- predicate: options.predicate,
314
+ predicate: options.predicate ?? (!options.bbox ? getPlanPredicate(scanPlan) : undefined),
315
+ bbox: options.bbox,
316
+ geometryColumn: options.geometryColumn,
317
+ limit: undefined,
170
318
  signal
171
319
  })) {
172
- await queue.push(createDatasetBatch(batch, indexedFile), signal);
320
+ yield createDatasetBatch(batch, indexedFile);
173
321
  }
174
- queue.finish();
175
322
  }
176
323
  catch (error) {
177
- queue.fail(error);
324
+ throw error;
178
325
  }
179
326
  finally {
180
327
  await source.close();
@@ -198,10 +345,13 @@ export class ParquetDatasetSource {
198
345
  }
199
346
  /** Creates a child source while preserving caller fetch, worker, range, and decode options. */
200
347
  createSource(file) {
201
- return new ParquetSource(file.data, this.options, this.coreApi);
348
+ const parquetOptions = this.options.parquet
349
+ ? { ...this.options.parquet, limit: undefined }
350
+ : undefined;
351
+ return new ParquetSource(file.data, { ...this.options, parquet: parquetOptions }, this.coreApi);
202
352
  }
203
353
  /** Lazily discovers descriptors and applies conservative local pruning. */
204
- async *getSelectedFiles(query) {
354
+ async *getSelectedFiles(query, discovery) {
205
355
  throwIfAborted(query.signal);
206
356
  const collection = await getFileCollection(this.files, query);
207
357
  let index = 0;
@@ -209,17 +359,25 @@ export class ParquetDatasetSource {
209
359
  throwIfAborted(query.signal);
210
360
  validateDatasetFile(file, index);
211
361
  this.telemetry.filesDiscovered++;
362
+ if (discovery)
363
+ discovery.discovered++;
212
364
  if (query.bbox && file.bbox && !doBoundingBoxesIntersect(query.bbox, file.bbox)) {
213
365
  this.telemetry.filesPrunedByBoundingBox++;
366
+ if (discovery)
367
+ discovery.prunedByBoundingBox++;
214
368
  index++;
215
369
  continue;
216
370
  }
217
371
  if (query.partitions && !matchesPartitions(file.partitions, query.partitions)) {
218
372
  this.telemetry.filesPrunedByPartitions++;
373
+ if (discovery)
374
+ discovery.prunedByPartitions++;
219
375
  index++;
220
376
  continue;
221
377
  }
222
378
  this.telemetry.filesSelected++;
379
+ if (discovery)
380
+ discovery.selected++;
223
381
  yield { file, index: index++ };
224
382
  }
225
383
  }
@@ -236,6 +394,10 @@ export class ParquetDatasetSource {
236
394
  }
237
395
  }
238
396
  }
397
+ /** Creates operation-local descriptor discovery counters. */
398
+ function createParquetDatasetDiscoverySummary() {
399
+ return { discovered: 0, selected: 0, prunedByBoundingBox: 0, prunedByPartitions: 0 };
400
+ }
239
401
  /** Normalizes static descriptors and lazy providers into one file collection. */
240
402
  async function getFileCollection(files, query) {
241
403
  return typeof files === 'function' ? await files(query) : files;
@@ -262,6 +424,11 @@ function createDatasetBatch(batch, indexedFile) {
262
424
  });
263
425
  return { ...batch, metadata: provenance, ...datasetProvenance };
264
426
  }
427
+ /** Returns the filter predicate recorded in one child source plan. */
428
+ function getPlanPredicate(plan) {
429
+ const filter = plan?.plan.find(step => step.kind === 'filter');
430
+ return filter?.kind === 'filter' ? filter.predicate : undefined;
431
+ }
265
432
  /** Returns a stable descriptor identity for batch provenance and diagnostics. */
266
433
  function getDatasetFileId(file, index) {
267
434
  if (file.id) {
@@ -282,15 +449,30 @@ function validateDatasetFile(file, index) {
282
449
  }
283
450
  /** Tests 2D intersection while conservatively accepting additional dimensions. */
284
451
  function doBoundingBoxesIntersect(left, right) {
285
- const leftMaximumX = left.length === 6 ? left[3] : left[2];
286
- const leftMaximumY = left.length === 6 ? left[4] : left[3];
287
- const rightMaximumX = right.length === 6 ? right[3] : right[2];
288
- const rightMaximumY = right.length === 6 ? right[4] : right[3];
289
- return (left[0] <= rightMaximumX &&
290
- leftMaximumX >= right[0] &&
452
+ const leftMaximumX = left.length === 8 ? left[4] : left.length === 6 ? left[3] : left[2];
453
+ const leftMaximumY = left.length === 8 ? left[5] : left.length === 6 ? left[4] : left[3];
454
+ const rightMaximumX = right.length === 8 ? right[4] : right.length === 6 ? right[3] : right[2];
455
+ const rightMaximumY = right.length === 8 ? right[5] : right.length === 6 ? right[4] : right[3];
456
+ return (doLongitudeIntervalsIntersect(left[0], leftMaximumX, right[0], rightMaximumX) &&
291
457
  left[1] <= rightMaximumY &&
292
458
  leftMaximumY >= right[1]);
293
459
  }
460
+ /** Tests longitude intervals that may use RFC 7946 antimeridian wrapping. */
461
+ function doLongitudeIntervalsIntersect(firstWest, firstEast, secondWest, secondEast) {
462
+ const firstIntervals = firstWest <= firstEast
463
+ ? [[firstWest, firstEast]]
464
+ : [
465
+ [firstWest, 180],
466
+ [-180, firstEast]
467
+ ];
468
+ const secondIntervals = secondWest <= secondEast
469
+ ? [[secondWest, secondEast]]
470
+ : [
471
+ [secondWest, 180],
472
+ [-180, secondEast]
473
+ ];
474
+ return firstIntervals.some(first => secondIntervals.some(second => first[0] <= second[1] && first[1] >= second[0]));
475
+ }
294
476
  /** Tests exact partition constraints without rejecting files that omit a requested key. */
295
477
  function matchesPartitions(partitions, query) {
296
478
  for (const [key, requested] of Object.entries(query)) {
@@ -362,6 +544,9 @@ function createParquetDatasetTelemetry() {
362
544
  rowGroupsRequested: 0,
363
545
  rowGroupsPruned: 0,
364
546
  rowGroupsPrunedByStatistics: 0,
547
+ rowGroupsPrunedByBloomFilter: 0,
548
+ bloomFiltersRead: 0,
549
+ bloomFilterBytesRead: 0,
365
550
  rowGroupsPrunedByPageIndex: 0,
366
551
  pageIndexesRead: 0,
367
552
  pagesRead: 0,
@@ -377,4 +562,41 @@ function createParquetDatasetTelemetry() {
377
562
  }
378
563
  };
379
564
  }
565
+ /** Converts cumulative dataset and child counters into one portable read-scoped snapshot. */
566
+ function createParquetDatasetScanExecutionTelemetry(before, after, startedAt, status, earlyTerminationReason, error) {
567
+ const parquet = Object.fromEntries(Object.keys(after.parquet).map(key => {
568
+ const telemetryKey = key;
569
+ return [key, after.parquet[telemetryKey] - before.parquet[telemetryKey]];
570
+ }));
571
+ const dataset = Object.freeze({
572
+ filesDiscovered: after.filesDiscovered - before.filesDiscovered,
573
+ filesSelected: after.filesSelected - before.filesSelected,
574
+ filesPrunedByBoundingBox: after.filesPrunedByBoundingBox - before.filesPrunedByBoundingBox,
575
+ filesPrunedByPartitions: after.filesPrunedByPartitions - before.filesPrunedByPartitions,
576
+ filesOpened: after.filesOpened - before.filesOpened,
577
+ batchesEmitted: after.batchesEmitted - before.batchesEmitted,
578
+ rowsEmitted: after.rowsEmitted - before.rowsEmitted
579
+ });
580
+ const rowsRead = Math.max(parquet.predicateRowsTested, parquet.rowsEmitted, dataset.rowsEmitted);
581
+ return Object.freeze({
582
+ status,
583
+ sourcesPlanned: Math.max(dataset.filesSelected, dataset.filesOpened),
584
+ sourcesRead: dataset.filesOpened,
585
+ batchesRead: dataset.batchesEmitted,
586
+ batchesDecoded: parquet.rowGroupsDecoded,
587
+ rowsRead,
588
+ rowsTested: parquet.predicateRowsTested || undefined,
589
+ rowsRetained: parquet.predicateRowsMatched || undefined,
590
+ rowsReturned: dataset.rowsEmitted,
591
+ bytesRead: parquet.downloadedBytes,
592
+ bytesFetched: parquet.downloadedBytes,
593
+ filesOpened: dataset.filesOpened,
594
+ tasksOpened: parquet.rowGroupsDecoded,
595
+ rowsPruned: parquet.rowsPrunedByPageIndex,
596
+ durationMilliseconds: Date.now() - startedAt,
597
+ earlyTerminationReason,
598
+ details: Object.freeze({ dataset, parquet: Object.freeze({ ...parquet }) }),
599
+ ...(error === undefined ? {} : { error })
600
+ });
601
+ }
380
602
  //# sourceMappingURL=parquet-dataset-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-dataset-source.js","sourceRoot":"","sources":["../src/parquet-dataset-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parquet-dataset-source.js","sourceRoot":"","sources":["../src/parquet-dataset-source.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ declare function preloadParquetJSLoader(): Promise<{
16
16
  readonly parquet: {
17
17
  columns: undefined;
18
18
  preserveBinary: boolean;
19
+ verifyFooterSignature: boolean;
19
20
  shape: "object-row-table";
20
21
  };
21
22
  };
@@ -40,6 +41,7 @@ export declare const ParquetJSLoader: {
40
41
  readonly parquet: {
41
42
  columns: undefined;
42
43
  preserveBinary: boolean;
44
+ verifyFooterSignature: boolean;
43
45
  shape: "object-row-table";
44
46
  };
45
47
  };