awslabs / awslabs/python-deequ
default value for SPARK_VERSION and spark_session
- Vorherrschende Sprache
- Jupyter Notebook
- Sterne
- 826
- Forks
- 158
- Ø Merge
- 9 T. 22 Std.
- Gemergte PRs (30 T.)
- 3
Beschreibung
Hi!
Why can't specifying the Pyspark version in environment variables be optional?
like this
```python
import os
import pyspark
os.environ['SPARK_VERSION'] = str(pyspark.__version__)
```
or
```python
@lru_cache(maxsize=None)
def _get_spark_version() -> str:
try:
spark_version = os.environ.get("SPARK_VERSION")
if not spark_version:
spark_version = str(pyspark.__version__)
except KeyError:
raise RuntimeError(f"SPARK_VERSION environment variable is required. Supported values are: {SPARK_TO_DEEQU_COORD_MAPPING.keys()}")
return _extract_major_minor_versions(spark_version)
```
And default spark version ...
like this
```python
class VerificationResult:
"""The results returned from the VerificationSuite
:param verificationRunBuilder verificationRun: verification result run()
"""
def __init__(self, spark_session: Optional[SparkSession], verificationRun):
self._spark_session = self._setup_spark_session(spark_session)
self.verificationRun = verificationRun
def _setup_spark_session(self, session=None):
if session:
return session
potencial_session = SparkSession.getActiveSession()
if potencial_session:
return potencial_session
else:
msg = "Spark session not found, init with `VerificationResult(my_session, ...)`"
raise AttributeError(msg)
```
maybe i can do this and create PR?
Beitragsleitfaden
Rechercherichtung
Beginne damit, die bestehende SPARK_VERSION-Suche und den Einstiegspunkt VerificationResult._setup_spark_session nachzuverfolgen. Bestätige, wie das aktuelle Verhalten mit fehlenden Umgebungsvariablen und Sessions umgeht, und verifiziere anschließend, dass die vorgeschlagenen Defaults ohne explizite Konfiguration funktionieren und das bestehende Verhalten bei expliziten Sessions beibehalten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- data-engineering
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100