我想从中读取一些数据рA直接从spark worker获得:
因此,在spark程序中,我有一个hadoop配置: val configuration = session.sparkContext.hadoopConfiguration
但我不能在工人那里用,因为它不是 Serializable
:
spark.sparkContext.parallelize(paths).mapPartitions(paths => {
for (path <- paths) yield {
//for example, read the parquet footer
val footer = ParquetFileReader.readFooter(configuration, new Path(path), ParquetMetadataConverter.NO_FILTER)
footer.getFileMetaData.getSchema.getName
}
})
结果
object not serializable (class: org.apache.hadoop.conf.Configuration...
1条答案
按热度按时间bpzcxfmw1#
我不知道如何将配置对象用于mappartition。参考此解决方案,您必须手动将conf重写到mappartition中。