Может кто подскажет, как параллельно читать файлы? Я пробую что-то вроде этого:
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.
Есть ли другой способ оптимизировать это?