Исключение тайм-аута PySpark - PullRequest
       36

Исключение тайм-аута PySpark

2 голосов
/ 07 октября 2019

Я запускаю pySpark в Google Dataproc и пытаюсь работать в масштабе с сетевыми графиками.

Это моя конфигурация

import pyspark
from pyspark.sql import SparkSession

conf = pyspark.SparkConf().setAll([('spark.jars', 'gs://spark-lib/bigquery/spark-bigquery-latest.jar'),
                                   ('spark.jars.packages', 'graphframes:graphframes:0.7.0-spark2.3-s_2.11')])

spark = SparkSession.builder \
  .appName('testing bq')\
  .config(conf=conf) \
  .getOrCreate()

Однако, когда я запускаю "распространение метки"алгоритм из графических фреймов на моем сетевом графе всегда возвращает Py4JJavaError из-за некоторого времени ожидания

result = g_df.labelPropagation(maxIter=5)

Ошибка:

Py4JJavaError: An error occurred while calling o287.run.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 197.0 failed 4 times, most recent failure: Lost task 0.3 in stage 197.0 (TID 7247, cluster-network-graph-w-7.c.geotab-bi.internal, executor 50): ExecutorLostFailure (executor 50 exited caused by one of the running tasks) Reason: Executor heartbeat timed out after 127971 ms

Как изменить это времявыходной параметр из PySpark? На что это повлияет?

1 Ответ

0 голосов
/ 08 октября 2019

Я думаю, что это связано с spark.network.timeout, который по умолчанию равен 120 с.

Время ожидания по умолчанию для всех сетевых взаимодействий. Этот конфиг будет использоваться вместо spark.core.connection.ack.wait.timeout, spark.storage.blockManagerSlaveTimeoutMs, spark.shuffle.io.connectionTimeout, spark.rpc.askTimeout или spark.rpc.lookupTimeout, если они не настроены.

См. Конфигурация искры .

...