- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 Spark 的初学者,我正在运行我的应用程序以从文本文件中读取 14KB 数据,进行一些转换和操作(收集、收集 AsMap)并将数据保存到数据库
我在我的 macbook 上本地运行它,它有 16G 内存,8 个逻辑核心。
Java 最大堆设置为 12G。
这是我用来运行应用程序的命令。
bin/spark-submit --class com.myapp.application --master local[*] --executor-memory 2G --driver-memory 4G/jars/application.jar
我收到以下警告
2017-01-13 16:57:31.579 [Executor task launch worker-8hread] WARN org.apache.spark.storage.MemoryStore - Not enough space to cache rdd_57_0 in memory! (computed 26.4 MB so far)
任何人都可以指导我这里出了什么问题以及如何提高性能吗?还有如何优化 suffle-spill ?这是我本地系统中发生的泄漏的 View
最佳答案
运行内存过多的执行程序通常会导致垃圾收集延迟过多。所以分配更多的内存不是一个好主意。由于您只有 14KB 数据,因此 2GB 执行程序内存和 4GB 驱动程序内存绰绰有余。分配这么多内存是没有用的。您甚至可以使用 100MB 内存运行此作业,性能将优于 2GB。
在yarn-cluster模式下运行应用程序时,驱动程序内存更有用,因为应用程序主机运行驱动程序。在这里,您正在以本地模式运行您的应用程序 driver-memory
不是必需的。您可以从作业中删除此配置。
在您的申请中您已分配
Java Max heap is set at: 12G.
executor-memory: 2G
driver-memory: 4G
总内存分配= 16GB 而您的 macbook 只有 16GB 内存。在这里,您已将全部 RAM 内存分配给您的 Spark 应用程序。
这样不好。操作系统本身消耗大约 1GB 内存,您可能正在运行其他也会消耗 RAM 内存的应用程序。所以在这里你实际上分配了比你拥有的更多的内存。这是您的应用程序抛出错误的根本原因 Not enough space to cache the RDD
executor-memory 1G
或更少driver-memory
。提交您的工作。它会顺利运行。
如果您非常想知道 spark 内存管理技术,请参阅这篇有用的文章。
关于java - Spark Driver 内存和 Executor 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41645679/
我正在尝试获取此亚马逊页面中列出的每台笔记本电脑的图像 URL ( https://www.amazon.com/s?rh=n%3A565108%2Cp_72%3A4-&pf_rd_i=565108&
我正在设置 Atlassian Confluence,在选择数据库时,我在选择“使用外部 Mysql 数据库”时卡住了我看过一些教程,但对我来说,它并没有按照应有的方式工作。我使用 ubuntu 12
我是 Neo4J 的新手,正在尝试通过 java 连接到 Neo4J 服务器。 我的一个独立项目的pom入口如下: org.neo4j neo4j-o
所有这些有什么区别和用途? spark.local.ip spark.driver.host spark.driver.bind地址 spark.driver.hostname 如何将机器修复为 Sp
我在旧的 Inspiron 6400 计算机(GeForce 7300 笔记本电脑版)上安装了 Lubuntu 19.04,通过网络草稿编辑器教我儿子 Scratch。每次我通过 Firefox 打开
我使用 qt 开发了一个 c++ 库。在本文中,我使用 QSqlDatabase 从 SQLite 数据库中查询信息。注意:我的库在 qt 桌面应用程序中运行良好(我在 Linux 上开发)。 现在我
存在类似的问题,但没有帮助。 在 Apache 2.4 上安装 php5-fpm 通过 SSL 连接到远程 MySql 数据库。 可以通过命令行连接MySQL mysql -u myname -p'p
使用以下配置 (doctrine.yaml) 在 Symfony 4 中使用 Doctrine DBAL: dbal: # configure these for your database
使用以下配置 (doctrine.yaml) 在 Symfony 4 中使用 Doctrine DBAL: dbal: # configure these for your database
我有一个用 Java 编写的 Selenium Web 驱动程序测试,目标是 Liferay 站点。 // Login driver.get(baseUrl + "/"); driver.findEl
在driver.findElements()中,我们获得了另一个用于查找size()的函数,该函数在driver.findElement()中不可用。 这是唯一的区别吗? 最佳答案 driver.fi
这个问题已经有答案了: java.lang.IllegalStateException: The driver executable does not exist: while trying to e
简短描述:我有一个通过 SignTool 验证的签名驱动程序,但 Windows 拒绝加载它并出现错误:CodeIntegrity 3004 - 在系统上找不到文件哈希。我该如何解决这个问题? 详细说
我正在设置一些 Geb 测试,但出现“geb.driver.DriverCreationException:无法从回调创建驱动程序”错误。 Geb 将尝试启动测试浏览器窗口,但一旦启动,我的所有测试都
我想通过应用对象存储库概念在 Chrome 驱动程序中打开 url。下面给出的是我的 selenium 程序,其中包含两个文件,一个是 testng 文件,另一个是 config.property 文
我在 Ubuntu Linux、Spring Tools 2.7.1、Spring Roo 1.1.5 上运行 Eclipse Indigo。我正在阅读 Getting Started with Ro
打开 Url 的首选方法是什么(它们之间是否存在任何差异): driver.Url = "http://example.com"; 或 driver.Navigate().GoToUrl("http:
我使用 python 脚本传递给 cassandra 批处理查询,如下所示: query = 'BEGIN BATCH ' + 'insert into ... ; insert into ... ;
我在 Protractor 中执行脚本时出现以下错误。 System info: host: '8888', ip: '88888', os.name: 'Mac OS X', os.arch: 'x
我收到错误 KeyError:'driver'。 我想使用scrapy-selenium 创建一个网络爬虫。我的代码如下所示: class TestSpider(Spider): name="test
我是一名优秀的程序员,十分优秀!