Как отменить операцию pyspark foreachPartition - PullRequest
0 голосов
/ 14 июля 2020

Как я могу отменить длинную операцию pyspark foreachPartition?

Например, у меня есть код, который обрабатывает очень большой объем данных (и это занимает много времени), но я хочу иметь возможность разрешить пользователь, чтобы отменить операцию - как мне это сделать?

def get_data(self, spark_session):
    query = 'Some query...'
    my_data_frame = spark_session.sql(query)
    my_data_frame.foreachPartition(handle_data)
    # How to cancel on user request?

1 Ответ

1 голос
/ 14 июля 2020

Это можно сделать с помощью

sc = spark_session.sparkContext
sc.setJobGroup(...)
# In a separate thread:
sc.cancelJobGroup(...)

Полный пример приведен в документации PySpark API

...