Skip to content

Refactor writer implementations #851

Closed
@wjones127

Description

@wjones127

Description

For further progress on the writer, we'll need to implement features that require query engines. This includes:

We can provide a default one with DataFusion, but we will also have users that wish to plug in their own query engine. In addition, it's possible we may have users that wish to user their own Parquet writer (for distributed engines, for example). So we will likely want to refactor into three distinct layers:

  1. A transaction layer for those who want to use their own Parquet writer to handle data writes (you write data; we write transaction);
  2. A parametrized writer layer, who want to use their own query engine but will use the built-in data writer (you verify data; we write data and transaction);
  3. A DataFusion-based writer that handles everything (verification, writing, transaction).

I'm not sure how viable this is yet, and would welcome feedback from others.

Use Case

Related Issue(s)

Metadata

Metadata

Assignees

No one assigned

    Labels

    binding/rustIssues for the Rust crateenhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions