我正在使用 Spark 2.3.0
當我foreach在資料框和日志中使用時,我可以在執行程式日志中看到日志。但是為什么它不列印登錄map方法呢?
val df = Seq((0)).toDF("a")
df.foreachPartition { iterator =>
{
iterator.map { row =>
{
val LOGGER = LogManager.getLogger(getClass.getName)
Configurator.setRootLevel(Level.INFO);
LOGGER.info("Testing logger in executor")
}
}
}
} //Not printing in executor log
df.foreachPartition { iterator =>
{
iterator.foreach { row =>
{
val LOGGER = LogManager.getLogger(getClass.getName)
Configurator.setRootLevel(Level.INFO);
LOGGER.info("Testing logger in executor")
}
}
}
} //Prints executor logs
什么是這樣做的原因,是有辦法做到這一點(我用Log4j2用log42.properties檔案)?
uj5u.com熱心網友回復:
foreach渴望而map懶惰。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/405131.html
標籤:
