У меня есть работа, которая распределяется между работниками, каждый работник выводит информационный кадр, который должен быть записан в куст, я не мог понять, как получить доступ к кусту от работников, не инициализируя другой искровой текст, поэтому я попытался собрать их вывод и вставить за один раз, как показано ниже
result = df.rdd.map(lambda rdd: predict_item_by_model(rdd, columns)).collect()
df_list = sc.parallelize(result).map(lambda df: hiveContext.createDataFrame(df)).collect() #throws error
mergedDF = reduce(DataFrame.union, df_list)
mergedDF.write.mode('overwrite').partitionBy("item_id").saveAsTable("items")
, но теперь выдает эту ошибку
_pickle.PicklingError: Could not serialize object: Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063.
есть ли у вас прямой доступ к улью у работников? если нет, то как я могу собрать данные и вставить их один раз?