我正在通过PySpark / Jupyter笔记本在4核/ 8逻辑处理器笔记本电脑上运行Spark。
当我设置master = local [16]并运行测试命令时,注意到Spark UI的Executors选项卡上cores列下的值显示为16。
很好奇,当我的本地笔记本电脑只有4个物理核心/ 8个逻辑处理器时,Spark如何访问16个核心。
“阶段”选项卡上的“事件时间轴”部分下,它还显示了同时并行处理16个任务。
const puppeteer = require('puppeteer');
(async () => {
// const browser = await puppeteer.launch();
const browser = await puppeteer.launch({
headless: false
, args: ['--user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3312.0 Safari/537.36"']
});
const page = await browser.newPage();
await page.goto('https://www.genecards.org/cgi-bin/carddisp.pl?gene=BSCL2');
await page.goto('https://www.genecards.org/cgi-bin/carddisp.pl?gene=BSCL2');
const linkHandlers = await page.$x("//div[@id='enhancers']//a[@data-track-event='Table See-All']");
if (linkHandlers.length > 0) {
await linkHandlers[0].click();
} else {
throw new Error("Link not found");
}
const html = await page.content()
//await browser.close();
console.log(html)
})();
答案 0 :(得分:0)
local [N]并不意味着您的应用程序(准确地说是工人)可以在N个CPU内核上运行。
根据http://spark.apache.org/docs/latest/submitting-applications.html#master-urls:
local [K] =>使用K个辅助线程在本地运行Spark(理想情况下,将其设置为计算机上的内核数)。
local [*] =>在本地运行Spark,其工作线程数与计算机上的逻辑核心一样多。
P.S。当您在本地模式下运行时,整个应用程序(Master和Workers)都在同一JVM上运行。