awslabs / awslabs/python-deequ
check with hasSize/hasMin etc fails with below error. Pydeequ version 1.0.0
- 主要言語
- Jupyter Notebook
- スター
- 826
- フォーク
- 158
- 平均マージ
- 9日 22時間
- マージ済み PR(30日)
- 3
説明
**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()
コントリビューションガイド
調査の方向性
まず、Spark 2.4.4、Pydeequ 1.0.0、Python 3.7 で報告された hasSize の再現を実行し、その後、ScalaFunction1 と callback-server の起動処理の周辺にある pydeequ/checks.py および pydeequ/scala_utils.py を調べます。hasSize と関連する hasMin チェックが Py4J のアドレス使用中エラーなしで完了し、検証結果を表示できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python, spark
- 領域
- data-engineering, testing-qa
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100