deltacat 1.1.33__py3-none-any.whl → 1.1.34__py3-none-any.whl
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.
- deltacat/__init__.py +1 -1
- deltacat/compute/compactor_v2/utils/content_type_params.py +17 -0
- deltacat/compute/compactor_v2/utils/io.py +1 -1
- deltacat/compute/resource_estimation/delta.py +19 -1
- deltacat/tests/compute/compactor_v2/utils/test_content_type_params.py +253 -0
- {deltacat-1.1.33.dist-info → deltacat-1.1.34.dist-info}/METADATA +1 -1
- {deltacat-1.1.33.dist-info → deltacat-1.1.34.dist-info}/RECORD +10 -9
- {deltacat-1.1.33.dist-info → deltacat-1.1.34.dist-info}/LICENSE +0 -0
- {deltacat-1.1.33.dist-info → deltacat-1.1.34.dist-info}/WHEEL +0 -0
- {deltacat-1.1.33.dist-info → deltacat-1.1.34.dist-info}/top_level.txt +0 -0
deltacat/__init__.py
CHANGED
@@ -5,6 +5,7 @@ from deltacat.compute.compactor_v2.constants import (
|
|
5
5
|
TASK_MAX_PARALLELISM,
|
6
6
|
MAX_PARQUET_METADATA_SIZE,
|
7
7
|
)
|
8
|
+
from deltacat.utils.common import ReadKwargsProvider
|
8
9
|
from deltacat.utils.ray_utils.concurrency import invoke_parallel
|
9
10
|
from deltacat import logs
|
10
11
|
from deltacat.storage import (
|
@@ -75,11 +76,21 @@ def _download_parquet_metadata_for_manifest_entry(
|
|
75
76
|
entry_index: int,
|
76
77
|
deltacat_storage: unimplemented_deltacat_storage,
|
77
78
|
deltacat_storage_kwargs: Optional[Dict[Any, Any]] = {},
|
79
|
+
file_reader_kwargs_provider: Optional[ReadKwargsProvider] = None,
|
78
80
|
) -> Dict[str, Any]:
|
81
|
+
logger.info(
|
82
|
+
f"Downloading the parquet metadata for Delta with locator {delta.locator} and entry_index: {entry_index}"
|
83
|
+
)
|
84
|
+
if "file_reader_kwargs_provider" in deltacat_storage_kwargs:
|
85
|
+
logger.info(
|
86
|
+
"'file_reader_kwargs_provider' is also present in deltacat_storage_kwargs. Removing to prevent multiple values for keyword argument"
|
87
|
+
)
|
88
|
+
deltacat_storage_kwargs.pop("file_reader_kwargs_provider")
|
79
89
|
pq_file = deltacat_storage.download_delta_manifest_entry(
|
80
90
|
delta,
|
81
91
|
entry_index=entry_index,
|
82
92
|
table_type=TableType.PYARROW_PARQUET,
|
93
|
+
file_reader_kwargs_provider=file_reader_kwargs_provider,
|
83
94
|
**deltacat_storage_kwargs,
|
84
95
|
)
|
85
96
|
|
@@ -97,11 +108,15 @@ def append_content_type_params(
|
|
97
108
|
max_parquet_meta_size_bytes: Optional[int] = MAX_PARQUET_METADATA_SIZE,
|
98
109
|
deltacat_storage=unimplemented_deltacat_storage,
|
99
110
|
deltacat_storage_kwargs: Optional[Dict[str, Any]] = {},
|
111
|
+
file_reader_kwargs_provider: Optional[ReadKwargsProvider] = None,
|
100
112
|
) -> bool:
|
101
113
|
"""
|
102
114
|
This operation appends content type params into the delta entry. Note
|
103
115
|
that this operation can be time consuming, hence we cache it in a Ray actor.
|
104
116
|
"""
|
117
|
+
logger.info(
|
118
|
+
f"Appending the content type params for Delta with locator {delta.locator}..."
|
119
|
+
)
|
105
120
|
|
106
121
|
if not delta.meta:
|
107
122
|
logger.warning(f"Delta with locator {delta.locator} doesn't contain meta.")
|
@@ -159,6 +174,7 @@ def append_content_type_params(
|
|
159
174
|
|
160
175
|
def input_provider(index, item) -> Dict:
|
161
176
|
return {
|
177
|
+
"file_reader_kwargs_provider": file_reader_kwargs_provider,
|
162
178
|
"deltacat_storage_kwargs": deltacat_storage_kwargs,
|
163
179
|
"deltacat_storage": deltacat_storage,
|
164
180
|
"delta": delta,
|
@@ -168,6 +184,7 @@ def append_content_type_params(
|
|
168
184
|
logger.info(
|
169
185
|
f"Downloading parquet meta for {len(entry_indices_to_download)} manifest entries..."
|
170
186
|
)
|
187
|
+
|
171
188
|
pq_files_promise = invoke_parallel(
|
172
189
|
entry_indices_to_download,
|
173
190
|
ray_task=_download_parquet_metadata_for_manifest_entry,
|
@@ -101,7 +101,6 @@ def create_uniform_input_deltas(
|
|
101
101
|
delta_manifest_entries_count = 0
|
102
102
|
estimated_da_bytes = 0
|
103
103
|
input_da_list = []
|
104
|
-
|
105
104
|
for delta in input_deltas:
|
106
105
|
if (
|
107
106
|
compact_partition_params.enable_input_split
|
@@ -118,6 +117,7 @@ def create_uniform_input_deltas(
|
|
118
117
|
deltacat_storage_kwargs=deltacat_storage_kwargs,
|
119
118
|
task_max_parallelism=compact_partition_params.task_max_parallelism,
|
120
119
|
max_parquet_meta_size_bytes=compact_partition_params.max_parquet_meta_size_bytes,
|
120
|
+
file_reader_kwargs_provider=compact_partition_params.read_kwargs_provider,
|
121
121
|
)
|
122
122
|
|
123
123
|
manifest_entries = delta.manifest.entries
|
@@ -93,11 +93,29 @@ def _estimate_resources_required_to_process_delta_using_type_params(
|
|
93
93
|
on_disk_size_bytes=delta.meta.content_length,
|
94
94
|
),
|
95
95
|
)
|
96
|
-
|
96
|
+
file_reader_kwargs_provider = kwargs.get(
|
97
|
+
"file_reader_kwargs_provider"
|
98
|
+
) or deltacat_storage_kwargs.get("file_reader_kwargs_provider")
|
99
|
+
|
100
|
+
"""
|
101
|
+
NOTE: The file_reader_kwargs_provider parameter can be passed in two ways:
|
102
|
+
1. Nested within deltacat_storage_kwargs during resource estimation
|
103
|
+
2. As a top-level attribute of CompactPartitionsParams during compaction
|
104
|
+
|
105
|
+
This creates an inconsistent parameter path between resource estimation and compaction flows.
|
106
|
+
As a long-term solution, this should be unified to use a single consistent path (either always
|
107
|
+
nested in deltacat_storage_kwargs or always as a top-level parameter).
|
108
|
+
|
109
|
+
For now, this implementation handles the resource estimation case by:
|
110
|
+
1. First checking for file_reader_kwargs_provider as a direct kwarg
|
111
|
+
2. Falling back to deltacat_storage_kwargs if not found
|
112
|
+
This approach maintains backward compatibility by not modifying the DELTA_RESOURCE_ESTIMATION_FUNCTIONS signatures.
|
113
|
+
"""
|
97
114
|
appended = append_content_type_params(
|
98
115
|
delta=delta,
|
99
116
|
deltacat_storage=deltacat_storage,
|
100
117
|
deltacat_storage_kwargs=deltacat_storage_kwargs,
|
118
|
+
file_reader_kwargs_provider=file_reader_kwargs_provider,
|
101
119
|
)
|
102
120
|
|
103
121
|
if not appended:
|
@@ -0,0 +1,253 @@
|
|
1
|
+
import ray
|
2
|
+
from typing import Dict, Any
|
3
|
+
from deltacat.types.media import ContentType
|
4
|
+
import pyarrow as pa
|
5
|
+
|
6
|
+
import pytest
|
7
|
+
import deltacat.tests.local_deltacat_storage as ds
|
8
|
+
import os
|
9
|
+
from deltacat.tests.test_utils.pyarrow import (
|
10
|
+
stage_partition_from_file_paths,
|
11
|
+
commit_delta_to_staged_partition,
|
12
|
+
)
|
13
|
+
from deltacat.utils.pyarrow import (
|
14
|
+
ReadKwargsProviderPyArrowCsvPureUtf8,
|
15
|
+
ReadKwargsProviderPyArrowSchemaOverride,
|
16
|
+
)
|
17
|
+
|
18
|
+
DATABASE_FILE_PATH_KEY, DATABASE_FILE_PATH_VALUE = (
|
19
|
+
"db_file_path",
|
20
|
+
"deltacat/tests/local_deltacat_storage/db_test.sqlite",
|
21
|
+
)
|
22
|
+
|
23
|
+
|
24
|
+
class TestContentTypeParams:
|
25
|
+
TEST_NAMESPACE = "test_content_type_params"
|
26
|
+
TEST_ENTRY_INDEX = 0
|
27
|
+
DEDUPE_BASE_COMPACTED_TABLE_STRING_PK = "deltacat/tests/compute/compactor_v2/steps/data/dedupe_base_compacted_table_string_pk.csv"
|
28
|
+
DEDUPE_NO_DUPLICATION_STRING_PK = "deltacat/tests/compute/compactor_v2/steps/data/dedupe_table_no_duplication_string_pk.csv"
|
29
|
+
|
30
|
+
@pytest.fixture(scope="module", autouse=True)
|
31
|
+
def setup_ray_cluster(self):
|
32
|
+
ray.init(local_mode=True, ignore_reinit_error=True)
|
33
|
+
yield
|
34
|
+
ray.shutdown()
|
35
|
+
|
36
|
+
@pytest.fixture(scope="function")
|
37
|
+
def local_deltacat_storage_kwargs(self, request: pytest.FixtureRequest):
|
38
|
+
# see deltacat/tests/local_deltacat_storage/README.md for documentation
|
39
|
+
kwargs_for_local_deltacat_storage: Dict[str, Any] = {
|
40
|
+
DATABASE_FILE_PATH_KEY: DATABASE_FILE_PATH_VALUE,
|
41
|
+
}
|
42
|
+
yield kwargs_for_local_deltacat_storage
|
43
|
+
if os.path.exists(DATABASE_FILE_PATH_VALUE):
|
44
|
+
os.remove(DATABASE_FILE_PATH_VALUE)
|
45
|
+
|
46
|
+
def test__download_parquet_metadata_for_manifest_entry_sanity(
|
47
|
+
self, local_deltacat_storage_kwargs
|
48
|
+
):
|
49
|
+
from deltacat.compute.compactor_v2.utils.content_type_params import (
|
50
|
+
_download_parquet_metadata_for_manifest_entry,
|
51
|
+
)
|
52
|
+
from deltacat.types.partial_download import PartialParquetParameters
|
53
|
+
|
54
|
+
partition = stage_partition_from_file_paths(
|
55
|
+
self.TEST_NAMESPACE,
|
56
|
+
[self.DEDUPE_BASE_COMPACTED_TABLE_STRING_PK],
|
57
|
+
**local_deltacat_storage_kwargs,
|
58
|
+
)
|
59
|
+
test_delta = commit_delta_to_staged_partition(
|
60
|
+
partition,
|
61
|
+
[self.DEDUPE_BASE_COMPACTED_TABLE_STRING_PK],
|
62
|
+
**local_deltacat_storage_kwargs,
|
63
|
+
)
|
64
|
+
test_entry_index = 0
|
65
|
+
obj_ref = _download_parquet_metadata_for_manifest_entry.remote(
|
66
|
+
test_delta, test_entry_index, ds, local_deltacat_storage_kwargs
|
67
|
+
)
|
68
|
+
parquet_metadata = ray.get(obj_ref)
|
69
|
+
partial_parquet_params = parquet_metadata["partial_parquet_params"]
|
70
|
+
|
71
|
+
# validate
|
72
|
+
assert isinstance(parquet_metadata, dict)
|
73
|
+
assert "entry_index" in parquet_metadata
|
74
|
+
assert "partial_parquet_params" in parquet_metadata
|
75
|
+
assert parquet_metadata["entry_index"] == test_entry_index
|
76
|
+
assert isinstance(partial_parquet_params, PartialParquetParameters)
|
77
|
+
|
78
|
+
assert partial_parquet_params.row_groups_to_download == [0]
|
79
|
+
assert partial_parquet_params.num_row_groups == 1
|
80
|
+
assert partial_parquet_params.num_rows == 8
|
81
|
+
assert isinstance(partial_parquet_params.in_memory_size_bytes, float)
|
82
|
+
assert partial_parquet_params.in_memory_size_bytes > 0
|
83
|
+
|
84
|
+
pq_metadata = partial_parquet_params.pq_metadata
|
85
|
+
assert pq_metadata.num_columns == 2
|
86
|
+
assert pq_metadata.num_rows == 8
|
87
|
+
assert pq_metadata.num_row_groups == 1
|
88
|
+
assert pq_metadata.format_version == "2.6"
|
89
|
+
|
90
|
+
assert (
|
91
|
+
test_delta.manifest.entries[self.TEST_ENTRY_INDEX].meta.content_type
|
92
|
+
== ContentType.PARQUET.value
|
93
|
+
)
|
94
|
+
|
95
|
+
@pytest.mark.parametrize(
|
96
|
+
"read_kwargs_provider,expected_values",
|
97
|
+
[
|
98
|
+
(
|
99
|
+
ReadKwargsProviderPyArrowCsvPureUtf8(),
|
100
|
+
{
|
101
|
+
"num_rows": 6,
|
102
|
+
"num_columns": 2,
|
103
|
+
"num_row_groups": 1,
|
104
|
+
"format_version": "2.6",
|
105
|
+
"column_types": [pa.string(), pa.string()],
|
106
|
+
},
|
107
|
+
),
|
108
|
+
(
|
109
|
+
ReadKwargsProviderPyArrowSchemaOverride(
|
110
|
+
schema=pa.schema(
|
111
|
+
[
|
112
|
+
("id", pa.string()),
|
113
|
+
("value", pa.int64()),
|
114
|
+
]
|
115
|
+
)
|
116
|
+
),
|
117
|
+
{
|
118
|
+
"num_rows": 6,
|
119
|
+
"num_columns": 2,
|
120
|
+
"num_row_groups": 1,
|
121
|
+
"format_version": "2.6",
|
122
|
+
"column_types": [pa.string(), pa.int64()],
|
123
|
+
},
|
124
|
+
),
|
125
|
+
(
|
126
|
+
ReadKwargsProviderPyArrowSchemaOverride(
|
127
|
+
schema=None,
|
128
|
+
pq_coerce_int96_timestamp_unit="ms",
|
129
|
+
parquet_reader_type="daft",
|
130
|
+
),
|
131
|
+
{
|
132
|
+
"num_rows": 6,
|
133
|
+
"num_columns": 2,
|
134
|
+
"num_row_groups": 1,
|
135
|
+
"format_version": "2.6",
|
136
|
+
"column_types": None, # Will use default type inference
|
137
|
+
},
|
138
|
+
),
|
139
|
+
],
|
140
|
+
)
|
141
|
+
def test__download_parquet_metadata_for_manifest_entry_with_read_kwargs_provider(
|
142
|
+
self, read_kwargs_provider, expected_values, local_deltacat_storage_kwargs
|
143
|
+
):
|
144
|
+
from deltacat.compute.compactor_v2.utils.content_type_params import (
|
145
|
+
_download_parquet_metadata_for_manifest_entry,
|
146
|
+
)
|
147
|
+
|
148
|
+
partition = stage_partition_from_file_paths(
|
149
|
+
self.TEST_NAMESPACE,
|
150
|
+
[self.DEDUPE_NO_DUPLICATION_STRING_PK],
|
151
|
+
**local_deltacat_storage_kwargs,
|
152
|
+
)
|
153
|
+
test_delta = commit_delta_to_staged_partition(
|
154
|
+
partition,
|
155
|
+
[self.DEDUPE_NO_DUPLICATION_STRING_PK],
|
156
|
+
**local_deltacat_storage_kwargs,
|
157
|
+
)
|
158
|
+
test_entry_index = 0
|
159
|
+
read_kwargs_provider = ReadKwargsProviderPyArrowCsvPureUtf8
|
160
|
+
obj_ref = _download_parquet_metadata_for_manifest_entry.remote(
|
161
|
+
test_delta,
|
162
|
+
test_entry_index,
|
163
|
+
ds,
|
164
|
+
local_deltacat_storage_kwargs,
|
165
|
+
read_kwargs_provider,
|
166
|
+
)
|
167
|
+
parquet_metadata = ray.get(obj_ref)
|
168
|
+
partial_parquet_params = parquet_metadata["partial_parquet_params"]
|
169
|
+
|
170
|
+
# validate
|
171
|
+
assert isinstance(parquet_metadata, dict)
|
172
|
+
assert "entry_index" in parquet_metadata
|
173
|
+
assert "partial_parquet_params" in parquet_metadata
|
174
|
+
assert parquet_metadata["entry_index"] == self.TEST_ENTRY_INDEX
|
175
|
+
|
176
|
+
assert partial_parquet_params.row_groups_to_download == [0]
|
177
|
+
assert (
|
178
|
+
partial_parquet_params.num_row_groups == expected_values["num_row_groups"]
|
179
|
+
)
|
180
|
+
assert partial_parquet_params.num_rows == expected_values["num_rows"]
|
181
|
+
assert isinstance(partial_parquet_params.in_memory_size_bytes, float)
|
182
|
+
assert partial_parquet_params.in_memory_size_bytes > 0
|
183
|
+
|
184
|
+
pq_metadata = partial_parquet_params.pq_metadata
|
185
|
+
assert pq_metadata.num_columns == expected_values["num_columns"]
|
186
|
+
assert pq_metadata.num_rows == expected_values["num_rows"]
|
187
|
+
assert pq_metadata.num_row_groups == expected_values["num_row_groups"]
|
188
|
+
assert pq_metadata.format_version == expected_values["format_version"]
|
189
|
+
|
190
|
+
assert (
|
191
|
+
test_delta.manifest.entries[self.TEST_ENTRY_INDEX].meta.content_type
|
192
|
+
== ContentType.PARQUET.value
|
193
|
+
)
|
194
|
+
|
195
|
+
def test_download_parquet_metadata_for_manifest_entry_file_reader_kwargs_present_top_level_and_deltacat_storage_kwarg(
|
196
|
+
self, local_deltacat_storage_kwargs, caplog
|
197
|
+
):
|
198
|
+
from deltacat.compute.compactor_v2.utils.content_type_params import (
|
199
|
+
_download_parquet_metadata_for_manifest_entry,
|
200
|
+
)
|
201
|
+
from deltacat.types.partial_download import PartialParquetParameters
|
202
|
+
|
203
|
+
test_file_reader_kwargs_provider = ReadKwargsProviderPyArrowCsvPureUtf8()
|
204
|
+
|
205
|
+
local_deltacat_storage_kwargs[
|
206
|
+
"file_reader_kwargs_provider"
|
207
|
+
] = ReadKwargsProviderPyArrowCsvPureUtf8()
|
208
|
+
|
209
|
+
partition = stage_partition_from_file_paths(
|
210
|
+
self.TEST_NAMESPACE,
|
211
|
+
[self.DEDUPE_BASE_COMPACTED_TABLE_STRING_PK],
|
212
|
+
**local_deltacat_storage_kwargs,
|
213
|
+
)
|
214
|
+
test_delta = commit_delta_to_staged_partition(
|
215
|
+
partition,
|
216
|
+
[self.DEDUPE_BASE_COMPACTED_TABLE_STRING_PK],
|
217
|
+
**local_deltacat_storage_kwargs,
|
218
|
+
)
|
219
|
+
|
220
|
+
test_entry_index = 0
|
221
|
+
obj_ref = _download_parquet_metadata_for_manifest_entry.remote(
|
222
|
+
test_delta,
|
223
|
+
test_entry_index,
|
224
|
+
ds,
|
225
|
+
local_deltacat_storage_kwargs,
|
226
|
+
test_file_reader_kwargs_provider,
|
227
|
+
)
|
228
|
+
parquet_metadata = ray.get(obj_ref)
|
229
|
+
partial_parquet_params = parquet_metadata["partial_parquet_params"]
|
230
|
+
|
231
|
+
# validate
|
232
|
+
assert isinstance(parquet_metadata, dict)
|
233
|
+
assert "entry_index" in parquet_metadata
|
234
|
+
assert "partial_parquet_params" in parquet_metadata
|
235
|
+
assert parquet_metadata["entry_index"] == test_entry_index
|
236
|
+
assert isinstance(partial_parquet_params, PartialParquetParameters)
|
237
|
+
|
238
|
+
assert partial_parquet_params.row_groups_to_download == [0]
|
239
|
+
assert partial_parquet_params.num_row_groups == 1
|
240
|
+
assert partial_parquet_params.num_rows == 8
|
241
|
+
assert isinstance(partial_parquet_params.in_memory_size_bytes, float)
|
242
|
+
assert partial_parquet_params.in_memory_size_bytes > 0
|
243
|
+
|
244
|
+
pq_metadata = partial_parquet_params.pq_metadata
|
245
|
+
assert pq_metadata.num_columns == 2
|
246
|
+
assert pq_metadata.num_rows == 8
|
247
|
+
assert pq_metadata.num_row_groups == 1
|
248
|
+
assert pq_metadata.format_version == "2.6"
|
249
|
+
|
250
|
+
assert (
|
251
|
+
test_delta.manifest.entries[self.TEST_ENTRY_INDEX].meta.content_type
|
252
|
+
== ContentType.PARQUET.value
|
253
|
+
)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
deltacat/__init__.py,sha256=
|
1
|
+
deltacat/__init__.py,sha256=g15eDSUMw0XN1VLww6GpBKnKFtB4WGCcMnJe4SlGOqg,1778
|
2
2
|
deltacat/constants.py,sha256=TUJLXUJ9xq1Ryil72yLkKR8EDH_Irp5wUg56QstbRNE,2181
|
3
3
|
deltacat/exceptions.py,sha256=7sjk3BuMY5Oo-6OvAfHncZx_OcvtEL47BblWr2F7waE,12740
|
4
4
|
deltacat/logs.py,sha256=EQSDin1deehzz5xlLV1_TrFJrO_IBZ9Ahp7MdL-4cK8,9363
|
@@ -71,10 +71,10 @@ deltacat/compute/compactor_v2/steps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
|
|
71
71
|
deltacat/compute/compactor_v2/steps/hash_bucket.py,sha256=1R5xLUkl7GqL1nY-apAgY1czKDEHjIVYSRi9qLOMass,6726
|
72
72
|
deltacat/compute/compactor_v2/steps/merge.py,sha256=LliCkWxWZ5Yh7UxVGSDJ1aRViw5hUZhEzlWxoXftbxA,22909
|
73
73
|
deltacat/compute/compactor_v2/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
74
|
-
deltacat/compute/compactor_v2/utils/content_type_params.py,sha256=
|
74
|
+
deltacat/compute/compactor_v2/utils/content_type_params.py,sha256=t2j9H9IdFRH9EfpL-9g5XvZs9WK9HybqBGA7fDi82EM,8310
|
75
75
|
deltacat/compute/compactor_v2/utils/dedupe.py,sha256=Jz1QbBOdZJwT8K1vD9q01eOn7hdLNZ_AF7bJ0wficr0,1949
|
76
76
|
deltacat/compute/compactor_v2/utils/delta.py,sha256=I7Yvda8NVbpKXG3nM2Ku1utvR2r2OpHvUMqUL2ja3aw,3626
|
77
|
-
deltacat/compute/compactor_v2/utils/io.py,sha256=
|
77
|
+
deltacat/compute/compactor_v2/utils/io.py,sha256=Xjs7_D-0xKSetvllIe4o96aM1elfdjt1Ii7YfsHPvZs,6108
|
78
78
|
deltacat/compute/compactor_v2/utils/merge.py,sha256=EV_iKhNc3WflgfLW1Q46dXUvyClx8VebWHGtninEfsI,5311
|
79
79
|
deltacat/compute/compactor_v2/utils/primary_key_index.py,sha256=SbQ97M1Cxld-zZik2QMSzlj20g6JlENaQx_0PhlCIP8,12034
|
80
80
|
deltacat/compute/compactor_v2/utils/task_options.py,sha256=0GoB_DLkCN1q8CVKTlWlDYt55qnpTDIa9fPyXJwB-cU,13801
|
@@ -85,7 +85,7 @@ deltacat/compute/merge_on_read/model/merge_on_read_params.py,sha256=Q51znagh8PtL
|
|
85
85
|
deltacat/compute/merge_on_read/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
86
86
|
deltacat/compute/merge_on_read/utils/delta.py,sha256=e4BtOHa5XPpUnR4r0HqBKjXckBsTI8qBwdUWwpJfkWQ,1367
|
87
87
|
deltacat/compute/resource_estimation/__init__.py,sha256=4bfBXcq-VAt9JCmjvj3yAmn0lEHVGdGsUCCoMGxjEqA,799
|
88
|
-
deltacat/compute/resource_estimation/delta.py,sha256=
|
88
|
+
deltacat/compute/resource_estimation/delta.py,sha256=dN64jbUQ8OI1BTz4fYGbulJLWjKjdT-XvwDJNLM__Oo,10583
|
89
89
|
deltacat/compute/resource_estimation/manifest.py,sha256=gSqOyIda-pYq3vRsKFq3IiZvwhV3mMqrWPtsmUH9dD8,13035
|
90
90
|
deltacat/compute/resource_estimation/model.py,sha256=psyagFXdpLGt8DfDqy7c8DWiuXCacr0Swe5f0M7DdO4,5465
|
91
91
|
deltacat/compute/resource_estimation/parquet.py,sha256=5_apma4EKbKcm-nfV73-qN2nfnCeyhFW23ZHX3jz0Kw,3158
|
@@ -155,6 +155,7 @@ deltacat/tests/compute/compactor_v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
|
|
155
155
|
deltacat/tests/compute/compactor_v2/test_compaction_session.py,sha256=y8nNHq9ADHENzUKMQYguB45zOD7F2lZgcBYYTvbTsdM,28957
|
156
156
|
deltacat/tests/compute/compactor_v2/test_hashlib.py,sha256=8csF2hFWtBvY2MbX3-6iphCsVXxRp0zP1NTnKhfdmkg,328
|
157
157
|
deltacat/tests/compute/compactor_v2/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
158
|
+
deltacat/tests/compute/compactor_v2/utils/test_content_type_params.py,sha256=eoiDuBUhgCmc3DYKCXL1g4QWtmROhZ0RJCQgePMY9as,9959
|
158
159
|
deltacat/tests/compute/compactor_v2/utils/test_primary_key_index.py,sha256=aFb9rzT_EK9k8qAMHPtpqd5btyEmll1So1loDmZkotQ,1769
|
159
160
|
deltacat/tests/compute/compactor_v2/utils/test_task_options.py,sha256=YDQKUKv3Vv8S1fe0YQmjHTrwnWSliqKHIWGu0fEdKnI,11478
|
160
161
|
deltacat/tests/compute/resource_estimation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -211,8 +212,8 @@ deltacat/utils/ray_utils/concurrency.py,sha256=JDVwMiQWrmuSlyCWAoiq9ctoJ0XADEfDD
|
|
211
212
|
deltacat/utils/ray_utils/dataset.py,sha256=waHdtH0c835a-2t51HYRHnulfC0_zBxx8mFSAPvPSPM,3274
|
212
213
|
deltacat/utils/ray_utils/performance.py,sha256=d7JFM7vTXHzkGx9qNQcZzUWajnqINvYRwaM088_FpsE,464
|
213
214
|
deltacat/utils/ray_utils/runtime.py,sha256=rB0A-tU9WZHz0J11LzJdANYtL397YyuemcA1l-K9dAw,5029
|
214
|
-
deltacat-1.1.
|
215
|
-
deltacat-1.1.
|
216
|
-
deltacat-1.1.
|
217
|
-
deltacat-1.1.
|
218
|
-
deltacat-1.1.
|
215
|
+
deltacat-1.1.34.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
216
|
+
deltacat-1.1.34.dist-info/METADATA,sha256=tndXv3uFRcc8PbYdaLMj9sZp9_uW7g94WGZBaNKFcUw,1733
|
217
|
+
deltacat-1.1.34.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
218
|
+
deltacat-1.1.34.dist-info/top_level.txt,sha256=RWdIcid4Bv2i2ozLVh-70kJpyB61xEKXod9XXGpiono,9
|
219
|
+
deltacat-1.1.34.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|