duckrun 0.2.16.dev1__tar.gz → 0.2.16.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of duckrun might be problematic. Click here for more details.
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/PKG-INFO +1 -1
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun/runner.py +1 -39
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun.egg-info/PKG-INFO +1 -1
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/pyproject.toml +1 -1
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/LICENSE +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/README.md +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun/__init__.py +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun/auth.py +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun/core.py +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun/files.py +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun/lakehouse.py +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun/semantic_model.py +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun/stats.py +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun/writer.py +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun.egg-info/SOURCES.txt +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun.egg-info/dependency_links.txt +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun.egg-info/requires.txt +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/duckrun.egg-info/top_level.txt +0 -0
- {duckrun-0.2.16.dev1 → duckrun-0.2.16.dev2}/setup.cfg +0 -0
|
@@ -7,45 +7,7 @@ import importlib.util
|
|
|
7
7
|
from typing import List, Tuple, Dict, Optional, Callable, Any
|
|
8
8
|
from string import Template
|
|
9
9
|
from deltalake import DeltaTable, write_deltalake
|
|
10
|
-
|
|
11
|
-
RG = 8_000_000
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def _build_write_deltalake_args(path, df, mode, schema_mode=None, partition_by=None):
|
|
15
|
-
"""
|
|
16
|
-
Build arguments for write_deltalake based on requirements:
|
|
17
|
-
- If schema_mode='merge': use rust engine (no row group params)
|
|
18
|
-
- Otherwise: use pyarrow engine with row group optimization (if supported)
|
|
19
|
-
"""
|
|
20
|
-
args = {
|
|
21
|
-
'table_or_uri': path,
|
|
22
|
-
'data': df,
|
|
23
|
-
'mode': mode
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
# Add partition_by if specified
|
|
27
|
-
if partition_by:
|
|
28
|
-
args['partition_by'] = partition_by
|
|
29
|
-
|
|
30
|
-
# Engine selection based on schema_mode
|
|
31
|
-
if schema_mode == 'merge':
|
|
32
|
-
# Use rust engine for schema merging (no row group params supported)
|
|
33
|
-
args['schema_mode'] = 'merge'
|
|
34
|
-
args['engine'] = 'rust'
|
|
35
|
-
else:
|
|
36
|
-
# Try to use pyarrow engine with row group optimization
|
|
37
|
-
# Check if row group parameters are supported by inspecting function signature
|
|
38
|
-
import inspect
|
|
39
|
-
sig = inspect.signature(write_deltalake)
|
|
40
|
-
|
|
41
|
-
if 'max_rows_per_file' in sig.parameters:
|
|
42
|
-
# Older deltalake version - use row group optimization
|
|
43
|
-
args['max_rows_per_file'] = RG
|
|
44
|
-
args['max_rows_per_group'] = RG
|
|
45
|
-
args['min_rows_per_group'] = RG
|
|
46
|
-
# For newer versions, just use default parameters
|
|
47
|
-
|
|
48
|
-
return args
|
|
10
|
+
from .writer import _build_write_deltalake_args
|
|
49
11
|
|
|
50
12
|
|
|
51
13
|
def run(duckrun_instance, pipeline: List[Tuple]) -> bool:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|