У меня есть PySpark DataFrame. Я хочу выполнить некоторую функцию forearchPartition
и затем сохранить каждый результат в Hive. Результатом является кадр данных Pandas (внутри каждого раздела). Каков наилучший способ сделать это?
Я безуспешно пробовал следующее (выдает ошибку сериализации):
def processData(x):
#do something
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.mode("append").format("parquet").saveAsTable(db.table_name)
original_spark_df.rdd.forearchPartition(processData)
Полагаю, одним из решений было бы превратить панд в СДР и вернуть их (используя mapPartitions
вместо forearchPartition
), а затем использовать rdd.toDF()
и saveAsTable()
.
Есть ли какое-нибудь решение спасти панд в Улей в forearchPartition
?