Может кто-нибудь сказать мне, как читать файлы параллельно? Я пытаюсь что-то вроде этого:
def processFile(path):
df = spark.read.json(path)
return df.count()
paths = ["...", "..."]
distPaths = sc.parallelize(paths)
counts = distPaths.map(processFile).collect()
print(counts)
Сбой со следующей ошибкой:
PicklingError: Не удалось сериализовать объект: Исключение: Похоже, что вы пытаетесь сослаться SparkContext из широковещательной переменной, действия или преобразования. SparkContext может использоваться только в драйвере, а не в коде, который он запускает на рабочих. Для получения дополнительной информации см. SPARK-5063.
Есть ли другой способ оптимизировать это?