Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(python): expose rust writer as additional engine v2 #1891

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
ca2acb8
first version
ion-elgreco Nov 15, 2023
3f55470
add try from uri with storage options
ion-elgreco Nov 15, 2023
714cc56
Start to enable overwrite_schema
ion-elgreco Nov 15, 2023
52f0d6a
add tests to check rust py03 writer
ion-elgreco Nov 16, 2023
c067d4d
remove comment
ion-elgreco Nov 16, 2023
5c5f247
rename and clean up
ion-elgreco Nov 17, 2023
717b7c7
add float type support in partition cols
ion-elgreco Nov 18, 2023
dae361e
check for pandas
ion-elgreco Nov 18, 2023
3052f12
add support for name and desc
ion-elgreco Nov 18, 2023
01f0194
fmt
ion-elgreco Nov 18, 2023
9911574
improve tests and add config support
ion-elgreco Nov 18, 2023
a410dfa
parametrize write benchmark
ion-elgreco Nov 18, 2023
8c976b6
add LargeUtf8 support in partition stringify
ion-elgreco Nov 18, 2023
57565b5
refactor: express log schema in delta types
roeap Nov 18, 2023
49a298b
feat(python): expose `convert_to_deltalake` (#1842)
ion-elgreco Nov 19, 2023
635313f
refactor: merge to use logical plans (#1720)
Blajda Nov 19, 2023
633fd7f
feat: create benchmarks for merge (#1857)
Blajda Nov 20, 2023
07113c6
Revert "refactor: express log schema in delta types"
ion-elgreco Nov 20, 2023
3a8c026
Merge branch 'main' into feat/expose_rust_writer_as_optional_engine
ion-elgreco Nov 20, 2023
3e25561
formatting
ion-elgreco Nov 20, 2023
d9a4ce0
use fromstr
ion-elgreco Nov 20, 2023
e3c7189
add overwrite_schema support
ion-elgreco Nov 20, 2023
5af1251
fix clippy of unrelated code ?
ion-elgreco Nov 20, 2023
3744384
cargo fmt
ion-elgreco Nov 20, 2023
2e1f0c9
resolve #1860
r3stl355 Nov 19, 2023
fee4d77
docs: on append, overwrite, delete and z-ordering (#1897)
MrPowers Nov 22, 2023
3173ad7
docs: update python docs link in readme.md (#1899)
thomasfrederikhoeck Nov 22, 2023
fe4fe51
fix: use physical name for column name lookup in partitions (#1836)
aersam Nov 24, 2023
c38b518
ci: run doctest in CI for Python API examples (#1840)
marijncv Nov 24, 2023
3ed7df0
feat(python): add pyarrow to delta compatible schema conversion in wr…
ion-elgreco Nov 24, 2023
573e8fe
resolve merge
ion-elgreco Nov 25, 2023
bb5815a
fix bug from conflict
ion-elgreco Nov 25, 2023
8c56194
Merge branch 'main' into fix/expose_writer_rust_to_python_v2
ion-elgreco Nov 25, 2023
381df0d
remove commented code
ion-elgreco Nov 25, 2023
3ab7687
expose predicate, handle error better, and add overloads
ion-elgreco Nov 25, 2023
e73eea3
fmt
ion-elgreco Nov 25, 2023
b4f9695
use ? instead of unwrap
ion-elgreco Nov 25, 2023
50e7257
Merge branch 'main' into fix/expose_writer_rust_to_python_v2
ion-elgreco Nov 29, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'main' into feat/expose_rust_writer_as_optional_engine
  • Loading branch information
ion-elgreco authored Nov 20, 2023
commit 3a8c02633d08c71f1e1d3c948bceef7774f6dd34
10 changes: 10 additions & 0 deletions python/deltalake/_internal.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,16 @@ def write_to_deltalake(
configuration: Optional[Mapping[str, Optional[str]]],
storage_options: Optional[Dict[str, str]],
) -> None: ...
def convert_to_deltalake(
uri: str,
partition_by: Optional[pyarrow.Schema],
partition_strategy: Optional[Literal["hive"]],
name: Optional[str],
description: Optional[str],
configuration: Optional[Mapping[str, Optional[str]]],
storage_options: Optional[Dict[str, str]],
custom_metadata: Optional[Dict[str, str]],
) -> None: ...
def batch_distinct(batch: pyarrow.RecordBatch) -> pyarrow.RecordBatch: ...

# Can't implement inheritance (see note in src/schema.rs), so this is next
Expand Down
1 change: 1 addition & 0 deletions python/deltalake/writer.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
from ._internal import batch_distinct
from ._internal import write_new_deltalake as write_deltalake_pyarrow
from ._internal import write_to_deltalake as write_deltalake_rust
from ._internal import convert_to_deltalake as _convert_to_deltalake
from .exceptions import DeltaProtocolError, TableNotFoundError
from .table import MAX_SUPPORTED_WRITER_VERSION, DeltaTable

Expand Down
1 change: 1 addition & 0 deletions python/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1324,6 +1324,7 @@ fn _internal(py: Python, m: &PyModule) -> PyResult<()> {
m.add_function(pyo3::wrap_pyfunction!(rust_core_version, m)?)?;
m.add_function(pyo3::wrap_pyfunction!(write_new_deltalake, m)?)?;
m.add_function(pyo3::wrap_pyfunction!(write_to_deltalake, m)?)?;
m.add_function(pyo3::wrap_pyfunction!(convert_to_deltalake, m)?)?;
m.add_function(pyo3::wrap_pyfunction!(batch_distinct, m)?)?;
m.add_class::<RawDeltaTable>()?;
m.add_class::<RawDeltaTableMetaData>()?;
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.