awslabs / awslabs/python-deequ

default value for SPARK_VERSION and spark_session

Aperta
#170 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Jupyter Notebook
Stelle
826
Fork
158
Merge medio
9g 22h
PR unite (30g)
3

Descrizione

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?

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia tracciando la ricerca esistente di SPARK_VERSION e il punto di ingresso VerificationResult._setup_spark_session. Verifica come il comportamento attuale gestisce le variabili d’ambiente e le sessioni mancanti, quindi verifica che i valori predefiniti proposti funzionino senza configurazione esplicita e preservino il comportamento esistente delle sessioni esplicite.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
data-engineering
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.