• H
    [SPARK-32435][PYTHON] Remove heapq3 port from Python 3 · a82aee04
    HyukjinKwon 提交于
    ### What changes were proposed in this pull request?
    This PR removes the manual port of `heapq3.py` introduced from SPARK-3073. The main reason of this was to support Python 2.6 and 2.7 because Python 2's `heapq.merge()` doesn't not support `key` and `reverse`.
    - https://docs.python.org/2/library/heapq.html#heapq.merge in Python 2
    - https://docs.python.org/3.8/library/heapq.html#heapq.merge in Python 3
    Since we dropped the Python 2 at SPARK-32138, we can remove this away.
    ### Why are the changes needed?
    To remove unnecessary codes. Also, we can leverage bug fixes made in Python 3.x at `heapq`.
    ### Does this PR introduce _any_ user-facing change?
    No, dev-only.
    ### How was this patch tested?
    Existing tests should cover. I locally ran and verified:
    ./python/run-tests --python-executable=python3 --testname="pyspark.tests.test_shuffle"
    ./python/run-tests --python-executable=python3 --testname="pyspark.shuffle ExternalSorter"
    ./python/run-tests --python-executable=python3 --testname="pyspark.tests.test_rdd RDDTests.test_external_group_by_key"
    Closes #29229 from HyukjinKwon/SPARK-32435.
    Authored-by: NHyukjinKwon <gurwls223@apache.org>
    Signed-off-by: NHyukjinKwon <gurwls223@apache.org>
该项目使用协议 Apache License 2.0. 进一步了解