Skip to content

Make it possible to configure arrow writer - #16

Merged
Aratz merged 4 commits into
devfrom
add_writer_config
Jul 9, 2026
Merged

Make it possible to configure arrow writer#16
Aratz merged 4 commits into
devfrom
add_writer_config

Conversation

@Aratz

@Aratz Aratz commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Description

By default, arrow's parquet writer batches rows in groups of 2^20 rows and does not compress the data. In some cases it might be desired to tweak these settings.

This PR makes it possible to specify such parameters when writing a batch to parquet.

Related Issue(s)

Fixes: #(issue number)

Type of change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 🛠️ Refactor / Maintenance (internal code changes, updating dependencies, etc.)
  • 📝 Documentation update

How Has This Been Tested?

Added a few tests

Rust Checklist

  • This comment contains a description of changes (with reason).
  • I have performed a self-review of my own code
  • My code compiles successfully (cargo check).
  • I have formatted my code using cargo fmt.
  • I have run cargo clippy and resolved all warnings.
  • I have added tests that prove my fix is effective or that my feature works.
  • Existing unit tests pass locally with my changes (cargo test).
  • I have updated the documentation accordingly (if applicable).
  • I have updated CHANGELOG.md

Additional Notes

@Aratz
Aratz requested review from Copilot and ptajvar July 9, 2026 13:57
@Aratz Aratz self-assigned this Jul 9, 2026
@Aratz
Aratz marked this pull request as ready for review July 9, 2026 14:00
@cursor

cursor Bot commented Jul 9, 2026

Copy link
Copy Markdown

Bugbot is not enabled for this team, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for configuring Parquet writer behavior when writing Arrow RecordBatches, enabling customization of defaults like compression and batching via Arrow/Parquet writer properties.

Changes:

  • Extends write_record_batches_to_path to accept optional WriterProperties passed through to ArrowWriter.
  • Updates internal call site(s) to pass None for default properties.
  • Adds unit tests to verify both round-trip correctness and that writer properties (compression) are applied.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/pixelator_core/src/common/io.rs

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Native Community Detection Benchmark

Details
Benchmark suite Current: 4aff7e0 Previous: 3ad7da1 Ratio
bench_fast_label_propagation 0.006131999999999999 s 0.005437 s 1.13
bench_leiden_modularity 0.02649 s 0.027280000000000002 s 0.97
bench_leiden_modularity_medium 19.7 s 16.38 s 1.20
bench_create_graph_from_parquet 1.874 s 1.787 s 1.05
bench_parquet_reading 0.4738 s 0.45280000000000004 s 1.05
bench_parquet_writing 0.5304 s 0.5254 s 1.01

This comment was automatically generated by workflow using github-action-benchmark.

@ptajvar ptajvar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@Aratz
Aratz merged commit a3a0b4e into dev Jul 9, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants