awslabs / awslabs/python-deequ
check with hasSize/hasMin etc fails with below error. Pydeequ version 1.0.0
- Lingua principale
- Jupyter Notebook
- Stelle
- 826
- Fork
- 158
- Merge medio
- 9g 22h
- PR unite (30g)
- 3
Descrizione
**Describe the bug**
verificationSuite check with has fails with error -
Traceback (most recent call last):
File "/Downloads/spark-2.4.4-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 2146, in start
OSError: [Errno 48] Address already in use
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/DeequPy/adhoc_tasks/test_checks.py", line 19, in
check.hasSize(lambda x: x >= 100)
File "/opt/anaconda3/envs/DeequPy/lib/python3.7/site-packages/pydeequ/checks.py", line 134, in hasSize
assertion_func = ScalaFunction1(self._spark_session.sparkContext._gateway, assertion)
File "/opt/anaconda3/envs/DeequPy/lib/python3.7/site-packages/pydeequ/scala_utils.py", line 32, in __init__
super().__init__(gateway)
File "/opt/anaconda3/envs/DeequPy/lib/python3.7/site-packages/pydeequ/scala_utils.py", line 16, in __init__
self.gateway.start_callback_server()
File "/Downloads/spark-2.4.4-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 1836, in start_callback_server
File "/Downloads/spark-2.4.4-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 2155, in start
py4j.protocol.Py4JNetworkError: An error occurred while trying to start the callback server (127.0.0.1:25334)
**To Reproduce**
Steps to reproduce the behavior:
check.hasSize(lambda x: x >= 100)
result = VerificationSuite(spark).onData(df).addCheck(check).run()
result_df = VerificationResult.checkResultsAsDataFrame(spark, result)
result_df.show()
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia eseguendo la riproduzione segnalata di hasSize con Spark 2.4.4, Pydeequ 1.0.0 e Python 3.7, quindi ispeziona pydeequ/checks.py e pydeequ/scala_utils.py intorno a ScalaFunction1 e all'avvio del callback-server. Il lavoro è completato quando hasSize e i controlli hasMin correlati terminano senza l'errore Py4J di indirizzo già in uso e il risultato della verifica può essere visualizzato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python, spark
- Ambito
- data-engineering, testing-qa
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100