Какой самый простой способ установить время ожидания для методов подключения spark, таких как чтение и запись?
До сих пор я пытался добавить «spark.network.timeout» с чем-то действительно низким, например, «2s»,но затем я получил исключение, запрашивающее, чтобы значение "spark.executor.heartbeatInterval" было меньше времени ожидания, поэтому я установил heartbeatInterval в значение "1 с".
Установка времени ожидания:
SparkSession sparkSession = SparkSession.builder().appName("test").master("local[*]").config("spark.network.timeout","2s").config("spark.executor.heartbeatInterval", "1s").getOrCreate();
Чтение данных:
Dataset<Row> dataset = sparkSession.read().jdbc(url, fromStatement, properties);
Запись данных:
dataset.write().mode(SaveMode.Overwrite).jdbc(destinyUrl, tableName, accessProperties);
Метод чтения занял 11 секунд для загрузки набора данных, а метод записи занял 13 секунд для сохранения набора данных в базе данных., но никакие действия не были остановлены через 2 секунды.