Repository navigation
Commit a710d5f
committed
review: keep prefix pruning off collated columns, free compressed windows, measure Spark reads
Spark prunes StartsWith by cutting each bound to the prefix's length in
characters, which a collation can break: under UTF8_LCASE, U+0130 is one
character that lowercases to two, so a batch of values beginning with it
was pruned against a two-character prefix they all match. buildFilter now
leaves out any predicate holding a StartsWith over a non-default
collation, and keeps equality and range pruning on those columns.
Arrow returns a buffer it stored raw as a slice of whatever holds it, so
with every selected window in one allocation, the smallest raw buffer kept
the batch's compressed bytes alive as long as the decoded vectors.
Projection.load now reads each window's uncompressed-length prefix and
copies the raw ones into a second allocation, and gives empty windows
Arrow's shared empty buffer.
The value tests collected their reference after caching, which Spark then
answered from the cache too; they, and the codec round-trip test, now
collect it first. New tests cover the collated prefix case, the raw-buffer
case, a projection of only NullType columns, and a batch with no rows.
CometInMemoryCacheBenchmark gains an axis comparing reads by Spark
operators against Spark's own cache format, which is what the docs'
limitation now quotes, in place of a figure measured on the previous
format. The docs also no longer say the format ignores every runtime
config, since the codec is one.1 parent 20dfd08 commit a710d5f
6 files changed
Lines changed: 512 additions & 95 deletions
File tree
- docs/source/user-guide/latest
- spark/src
- main/scala/org/apache/spark/sql/comet/execution/arrow
- test/scala/org/apache
- comet/exec
- spark/sql
- benchmark
- comet/execution/arrow
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
51 | | - | |
52 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
53 | 55 | | |
54 | 56 | | |
55 | 57 | | |
| |||
78 | 80 | | |
79 | 81 | | |
80 | 82 | | |
81 | | - | |
82 | | - | |
| 83 | + | |
| 84 | + | |
83 | 85 | | |
84 | 86 | | |
85 | 87 | | |
| |||
115 | 117 | | |
116 | 118 | | |
117 | 119 | | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
123 | 125 | | |
124 | 126 | | |
125 | 127 | | |
126 | 128 | | |
127 | 129 | | |
128 | 130 | | |
129 | | - | |
130 | | - | |
131 | | - | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
132 | 134 | | |
133 | 135 | | |
134 | 136 | | |
| |||
147 | 149 | | |
148 | 150 | | |
149 | 151 | | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
154 | 155 | | |
155 | 156 | | |
156 | 157 | | |
| |||
174 | 175 | | |
175 | 176 | | |
176 | 177 | | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
181 | 191 | | |
182 | 192 | | |
183 | 193 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
456 | 456 | | |
457 | 457 | | |
458 | 458 | | |
| 459 | + | |
| 460 | + | |
459 | 461 | | |
460 | 462 | | |
461 | 463 | | |
| |||
465 | 467 | | |
466 | 468 | | |
467 | 469 | | |
468 | | - | |
| 470 | + | |
| 471 | + | |
469 | 472 | | |
470 | 473 | | |
471 | 474 | | |
472 | 475 | | |
473 | 476 | | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
474 | 489 | | |
475 | 490 | | |
476 | 491 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
317 | 317 | | |
318 | 318 | | |
319 | 319 | | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
320 | 326 | | |
321 | 327 | | |
322 | | - | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
323 | 331 | | |
324 | 332 | | |
325 | 333 | | |
326 | 334 | | |
327 | 335 | | |
328 | | - | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
329 | 341 | | |
330 | 342 | | |
331 | 343 | | |
332 | | - | |
333 | | - | |
334 | | - | |
| 344 | + | |
| 345 | + | |
335 | 346 | | |
336 | 347 | | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
337 | 358 | | |
338 | | - | |
| 359 | + | |
| 360 | + | |
339 | 361 | | |
340 | 362 | | |
341 | | - | |
342 | | - | |
343 | | - | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
344 | 373 | | |
345 | | - | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | 374 | | |
350 | 375 | | |
351 | 376 | | |
352 | | - | |
353 | | - | |
354 | | - | |
355 | | - | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
356 | 383 | | |
357 | 384 | | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | 385 | | |
363 | 386 | | |
364 | 387 | | |
| |||
394 | 417 | | |
395 | 418 | | |
396 | 419 | | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
| 420 | + | |
| 421 | + | |
409 | 422 | | |
410 | 423 | | |
411 | 424 | | |
| |||
421 | 434 | | |
422 | 435 | | |
423 | 436 | | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
424 | 471 | | |
425 | 472 | | |
426 | 473 | | |
| |||
0 commit comments