Synapse Spark — Исключение TaskCanceledException: Ошибка отмены задачи

#json #apache-spark #pyspark #azure-synapse

#json #apache-искра #пыспарк #лазурный-синапс

Вопрос:

Я получаю исключение TaskCanceledException, и я не знаю, что еще я могу сделать, чтобы устранить его. Все, что я делаю, это беру список путей и пытаюсь запустить.read.format(‘json’).load(путь) и перенести их все в фрейм данных. Первоначально я использовал пути с подстановочными знаками, но с тех пор переместил его в список в цикле for, чтобы посмотреть, смогу ли я передать ошибку.

Это схема моих файлов json, все они одинаковые (они от Microsoft, поэтому они не меняются, API версионный):

 root  |-- tables: array (nullable = true)  | |-- element: struct (containsNull = true)  | | |-- columns: array (nullable = true)  | | | |-- element: struct (containsNull = true)  | | | | |-- name: string (nullable = true)  | | | | |-- type: string (nullable = true)  | | |-- name: string (nullable = true)  | | |-- rows: array (nullable = true)  | | | |-- element: array (containsNull = true)  | | | | |-- element: string (containsNull = true) 

Там нет никакой информации об ошибке, только то, что задача была отменена. Я беру список, который выглядит так:

 ['abfss://lt;filesystemnamegt;@lt;accountnamegt;.dfs.core.windows.net/path/to/files/file.json',  'abfss://lt;filesystemnamegt;@lt;accountnamegt;.dfs.core.windows.net/path/to/files/file.json',  'abfss://lt;filesystemnamegt;@lt;accountnamegt;.dfs.core.windows.net/path/to/files/file.json']  

И передать его в функцию, подобную этой:

 combined_df = original_schema_df for file_in_path in path_list:  new_df = spark.read.format('json')   .load(file_in_path)  combined_df = combined_df.unionAll(new_df) display(combined_df.limit(10)) combined_df.printSchema()  

Я также пробовал (это в иерархическом пространстве имен с годом=, месяцем=, днем=, ниже просто упрощение)

 spark.read.format('json').load('abfss://lt;filesystemnamegt;@lt;accountnamegt;.dfs.core.windows.net/path/to/files/*.json')  

И оба они, как только пройдет 2 минуты, выдадут ошибку с общим исключением ошибки TaskCanceledException.

Когда я захожу в журналы монитора azure spark, я ничего не получаю с ошибкой. Когда я вхожу в историю искры, там ничего нет.

Я в растерянности. Может ли выполнение azure spark занять не более 2 минут из-за некоторого таймаута внешнего озера данных? У меня есть все возможные сетевые настройки, настроенные на время более 120 секунд:

 spark.rpc.message.maxsize 512 spark.rpc.lookupTimeout 100000 spark.scheduler.excludeOnFailure.unschedulableTaskSetTimeout 10000 spark.network.timeout 200000 spark.executor.heartbeatInterval 50000  

Комментарии:

1. Можете ли вы убедиться, что все загружаемые вами Json являются действительными json