tgedr-dataops 0.0.33__tar.gz → 0.0.36__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.
- {tgedr_dataops-0.0.33/src/tgedr_dataops.egg-info → tgedr_dataops-0.0.36}/PKG-INFO +1 -1
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/README.md +2 -2
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/setup.py +1 -1
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/delta_table_source.py +9 -5
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/source.py +4 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/store/s3_single_partition_parquet.py +1 -1
- tgedr_dataops-0.0.36/src/tgedr/dataops/validation/pyspark.py +10 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36/src/tgedr_dataops.egg-info}/PKG-INFO +1 -1
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr_dataops.egg-info/SOURCES.txt +1 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/LICENSE +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/pyproject.toml +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/setup.cfg +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/__init__.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/chain.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/commons/dataset.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/commons/metadata.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/commons/s3_connector.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/commons/utils_fs.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/commons/utils_spark.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/etl.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/processor.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/sink/__init__.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/sink/local_fs_file_sink.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/sink/s3_file_sink.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/sink/sink.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/__init__.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/abstract_s3_file_source.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/local_delta_table.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/local_fs_file_source.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/pd_df_s3_source.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/s3_delta_table.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/s3_file_copy.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/s3_file_source.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/store/fs_single_partition_parquet.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/store/local_fs_single_partition_parquet.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/store/spark_delta.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/store/store.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/utils_reflection.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/validation/abs.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/validation/pandas.py +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr_dataops.egg-info/dependency_links.txt +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr_dataops.egg-info/requires.txt +0 -0
- {tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr_dataops.egg-info/top_level.txt +0 -0
|
@@ -42,8 +42,8 @@ data operations related code
|
|
|
42
42
|
|
|
43
43
|
#### validation
|
|
44
44
|
- __DataValidation__ : abstract class defining a `validate` method to perform data validation, currently using Great Expectations library
|
|
45
|
-
- __pandas.Impl__ : __DataValidation__ implementation to validate pandas dataframes with Great Expectations library ([example](test/tgedr/dataops/validation/
|
|
46
|
-
|
|
45
|
+
- __pandas.Impl__ : __DataValidation__ implementation to validate pandas dataframes with Great Expectations library ([example](test/tgedr/dataops/validation/test_pandas.py))
|
|
46
|
+
- __pyspark.Impl__ : __DataValidation__ implementation to validate pyspark dataframes with Great Expectations library ([example](test/tgedr/dataops/validation/test_pyspark.py))
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
## installation
|
{tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/delta_table_source.py
RENAMED
|
@@ -3,8 +3,9 @@ import logging
|
|
|
3
3
|
from typing import Any, Dict, List, Optional
|
|
4
4
|
from pandas import DataFrame
|
|
5
5
|
from deltalake import DeltaTable
|
|
6
|
+
from deltalake.exceptions import TableNotFoundError
|
|
6
7
|
|
|
7
|
-
from tgedr.dataops.source.source import Source, SourceException
|
|
8
|
+
from tgedr.dataops.source.source import Source, SourceException, NoSourceException
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
logger = logging.getLogger()
|
|
@@ -36,10 +37,13 @@ class DeltaTableSource(Source, ABC):
|
|
|
36
37
|
if self.CONTEXT_KEY_COLUMNS in context:
|
|
37
38
|
columns = context[self.CONTEXT_KEY_COLUMNS]
|
|
38
39
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
try:
|
|
41
|
+
delta_table = DeltaTable(
|
|
42
|
+
table_uri=context[self.CONTEXT_KEY_URL], storage_options=self._storage_options, without_files=True
|
|
43
|
+
)
|
|
44
|
+
result = delta_table.to_pandas(columns=columns)
|
|
45
|
+
except TableNotFoundError as tnfe:
|
|
46
|
+
raise NoSourceException(f"could not find delta table: {context[self.CONTEXT_KEY_URL]}")
|
|
43
47
|
|
|
44
48
|
logger.info(f"[get|out] => {result}")
|
|
45
49
|
return result
|
{tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/store/s3_single_partition_parquet.py
RENAMED
|
@@ -6,7 +6,7 @@ import pandas as pd
|
|
|
6
6
|
import pyarrow as pa
|
|
7
7
|
|
|
8
8
|
from tgedr.dataops.store.fs_single_partition_parquet import FsSinglePartitionParquetStore
|
|
9
|
-
from
|
|
9
|
+
from tgedr.dataops.commons.utils_fs import remove_s3_protocol
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
logger = logging.getLogger(__name__)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
from great_expectations.dataset.dataset import Dataset
|
|
3
|
+
|
|
4
|
+
from tgedr.dataops.validation.abs import DataValidation
|
|
5
|
+
from great_expectations.dataset.sparkdf_dataset import SparkDFDataset
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Impl(DataValidation):
|
|
9
|
+
def _get_dataset(self, df: Any) -> Dataset:
|
|
10
|
+
return SparkDFDataset(df)
|
|
@@ -33,6 +33,7 @@ src/tgedr/dataops/store/spark_delta.py
|
|
|
33
33
|
src/tgedr/dataops/store/store.py
|
|
34
34
|
src/tgedr/dataops/validation/abs.py
|
|
35
35
|
src/tgedr/dataops/validation/pandas.py
|
|
36
|
+
src/tgedr/dataops/validation/pyspark.py
|
|
36
37
|
src/tgedr_dataops.egg-info/PKG-INFO
|
|
37
38
|
src/tgedr_dataops.egg-info/SOURCES.txt
|
|
38
39
|
src/tgedr_dataops.egg-info/dependency_links.txt
|
|
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
|
|
File without changes
|
|
File without changes
|
{tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/abstract_s3_file_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/source/local_fs_file_source.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr/dataops/store/fs_single_partition_parquet.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tgedr_dataops-0.0.33 → tgedr_dataops-0.0.36}/src/tgedr_dataops.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|