awslabs / awslabs/python-deequ
check with hasSize/hasMin etc fails with below error. Pydeequ version 1.0.0
- Langage dominant
- Jupyter Notebook
- Étoiles
- 826
- Forks
- 158
- Merge moyen
- 9 j 22 h
- PR mergées (30 j)
- 3
Description
**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()
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par exécuter la reproduction signalée de hasSize avec Spark 2.4.4, Pydeequ 1.0.0 et Python 3.7, puis inspectez pydeequ/checks.py et pydeequ/scala_utils.py autour de ScalaFunction1 et du démarrage du callback-server. C’est terminé lorsque hasSize et les vérifications hasMin associées s’exécutent jusqu’au bout sans l’erreur Py4J d’adresse déjà utilisée et que le résultat de la vérification peut être affiché.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python, spark
- Domaine
- data-engineering, testing-qa
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100