The GitHub Actions job "CodeQL" on hive.git/HIVE-30105 has succeeded.
Run started by GitHub user deniskuzZ (triggered by deniskuzZ).

Head commit for run:
ebaea41992f35915b1915d82f7eaecfb3f00bd2a / Denys Kuzmenko <[email protected]>
HIVE-30105: Parquet: decode primitive columns a batch at a time

- ParquetVectorUpdater/ParquetVectorUpdaterFactory replace the per-value 
virtual-dispatch reader: definition
  levels and values decode a batch per call for PLAIN and dictionary pages 
(int, bigint, float, double,
  decimal, date, boolean, char, varchar, string, binary)
- A dictionary is flattened once per column chunk; a string row becomes a 
reference into it instead of a copy
- VectorizedPrimitiveColumnReader drops BaseVectorizedColumnReader and 
implements VectorizedColumnReader
  directly; HIVE-30059's ParquetRowGroupDecoder (which constructs it) needed no 
change, since it already
  typed its array as the VectorizedColumnReader interface
- decimal64 fast path; single-string-key fast path (dictionary-aware)
- BIT_PACKED definition-level values keep the per-value path; timestamps keep 
it too (HIVE-30116)
- a batch of equal values is repeating only when their bits are equal: 0.0 and 
-0.0 compare equal as doubles, and
  the per-value reader read a PLAIN batch of both as one repeated value, every 
row taking the first one's sign
- tests: TestVectorizedColumnReader and 
TestVectorizedDictionaryEncodingColumnReader read every type through both
  paths; TestVectorizedRleValuesReader, TestDictionaryValues; 
parquet_signed_zero.q: 2,000 rows alternating 0.0 and
  -0.0, DOUBLE and FLOAT, PLAIN and dictionary pages, vectorized equal to row 
mode (master: vectorized PLAIN reads
  2,000 x -0.0); parquet_vectorization_0/not.q.out: last digits of variance and 
stddev (summation order)
- Impact (local, 20M store_sales-shaped rows): decode 72.2 -> 15.7 ns/row 
(4.6x), full reader 89.9 -> 28.3 ns/row
  (3.2x)

Report URL: https://github.com/apache/hive/actions/runs/43081519743

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to