Spark如何处理大于集群内存的数据

2023-11-24

如果我只有 1 个内存为 25 GB 的执行器,并且它一次只能运行一个任务,那么是否可以处理(转换和操作)1 TB 数据(如果是),那么它将如何读取以及中间数据将存储在哪里?

同样对于相同的场景,如果 hadoop 文件有 300 个输入拆分,那么 RDD 中将有 300 个分区,那么在这种情况下这些分区将在哪里? 它会仅保留在 hadoop 磁盘上并且我的单个任务将运行 300 次吗?


我在 hortonworks 网站上找到了一个很好的答案。

与流行的观点相反,Spark 不仅仅存在于内存中

a) 简单读取,无随机播放(无连接,...)

对于初始读取,Spark 像 MapReduce 一样读取流中的数据并在数据出现时对其进行处理。 IE。除非有原因 Spark 不会在内存中实现完整的 RDD(你可以告诉他这样做,但是如果你想缓存一个小数据集)RDD 是有弹性的,因为 Spark 知道如何重新创建它(从 hdfs 重新读取一个块)例如)不是因为它存储在不同位置的内存中。 (不过这也可以做到。)

因此,如果您过滤掉大部分数据或进行在地图端聚合的有效聚合,您将永远不会在内存中拥有完整的表。

b) 随机播放

这与 MapReduce 非常相似,因为它将映射输出写入磁盘并通过 http 使用化简器读取它们。然而,spark 在 Linux 文件系统上使用了积极的文件系统缓冲区策略,因此如果操作系统有可用内存,数据将不会实际写入物理磁盘。

c) 随机播放后

shuffle后的RDD通常由引擎缓存(否则失败的节点或RDD将需要完全重新运行作业),但是正如abdelkrim提到的那样,Spark可以将这些溢出到磁盘上,除非您否决这一点。

d) 火花流

这有点不同。 Spark Streaming 期望所有数据都适合内存,除非您覆盖设置。

这是原始页面。

Matei Zaharia 最初的 Spark 设计论文也有帮助。(第 2.6.4 节内存不足时的行为)

希望有什么有用的东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark如何处理大于集群内存的数据 的相关文章

  • 如何获取使用 concat_ws 生成的结果的大小?

    我正在表演groupBy在 COL1 上并使用 COL2 的串联列表concat ws 我怎样才能获得该列表中的值的计数 这是我的代码 Dataset
  • Talend 和 Apache Spark?

    我对 Talend 和 Apache Spark 在大数据生态系统中的定位感到困惑 因为 Apache Spark 和 Talend 都可以用于 ETL 有人可以用一个例子解释一下吗 Talend 是一种基于工具的大数据方法 通过内置组件支
  • 使用什么工具来可视化逻辑和物理查询计划?

    我很熟悉explain 还有 WebUI 我很好奇是否有任何工具可以生成优化前后逻辑 物理计划的树结构图像 也就是返回的信息explain 作为图像 PNG 或 JPG 之类的图片 我自己从未听说过 但您可以使用 Web UI 查看物理计划
  • Spark shuffle 溢出指标

    在 Spark 2 3 集群上运行作业时 我在 Spark WebUI 中注意到某些任务发生了溢出 据我所知 在reduce端 reducer获取所需的分区 随机读取 然后使用执行器的执行内存执行reduce计算 由于没有足够的执行内存 一
  • Spark SQL中如何按列降序排序?

    I tried df orderBy col1 show 10 但它是按升序排列的 df sort col1 show 10 也按升序排序 我查看了 stackoverflow 发现的答案都已过时或称为 RDD https stackove
  • 使用notebook时将jar添加到pyspark

    我正在尝试将 mongodb hadoop 与 Spark 集成 但不知道如何使 IPython 笔记本可以访问这些 jar 这是我想做的 set up parameters for reading from MongoDB via Had
  • Pyspark dataframe:如何按组应用 scipy.optimize 函数

    我有一段运行良好的代码 但使用 pandas 数据帧 groupby 处理 但是 由于文件很大 gt 7000 万组 我需要转换代码以使用 PYSPARK 数据框架 这是使用 pandas dataframe 和小示例数据的原始代码 imp
  • Spark Workers 上缺少 SLF4J 记录器

    我正在尝试通过以下方式运行工作spark submit 此作业导致的错误是 Exception in thread main java lang NoClassDefFoundError org slf4j Logger at java l
  • 为什么spark.memory.fraction的默认值这么低?

    来自Spark配置文档 https spark apache org docs latest configuration html memory management 我们了解以下有关spark memory fraction配置参数 用于
  • createOrReplaceTempView 在 Spark 中如何工作?

    我是 Spark 和 Spark SQL 的新手 如何createOrReplaceTempView在 Spark 工作 如果我们注册一个RDD对象作为表 Spark 会将所有数据保留在内存中吗 createOrReplaceTempVie
  • 尝试创建 jar 时出现 UNRESOLVED DEPENDENCIES 错误

    我正在尝试构建一个 Scala jar 文件以在 Spark 中运行它 我正在关注这个tutorial http spark apache org docs latest quick start html 当尝试使用 sbt 作为构建 ja
  • 如何检查SparkContext是否已停止?

    如何检测是否SparkContext http spark apache org docs latest programming guide html已经stopped https spark apache org docs latest
  • 如何将多个 parquet 文件附加到 Pandas 中的一个数据帧

    我正在使用 Spark 和 Pandas 解压缩 snappy parquet 文件 我有 180 个文件 我的 Jupyter 笔记本中有 7GB 数据 根据我的理解 我需要创建一个循环来获取所有文件 用 Spark 解压缩它们并附加到
  • 带可变参数的 Spark UDF

    如文档中所示 列出最多 22 个参数是唯一的选择吗 https spark apache org docs 1 5 0 api scala index html org apache spark sql UDFRegistration ht
  • Spark、pyspark中从TF-IDF到LDA聚类

    我正在尝试对存储在格式键 listofwords 中的推文进行聚类 我的第一步是使用 dataframe 提取单词列表的 TF IDF 值 dbURL hdfs pathtodir file sc textFile dbURL Define
  • 将 Apache Zeppelin 连接到 Hive

    我尝试将我的 apache zeppelin 与我的 hive 元存储连接起来 我使用 zeppelin 0 7 3 所以没有 hive 解释器 只有 jdbc 我已将 hive site xml 复制到 zeppelin conf 文件夹
  • 按元素聚合数组

    Spark scala 相当新 我想知道是否有一种简单的方法以按列方式聚合 Array Double 这是一个例子 c1 c2 c3 1 1 1 0 1 0 3 4 1 2 1 0 0 0 4 3 2 1 0 0 0 0 0 0 2 3 1
  • Spark 数据帧分组、排序和选择一组列的顶部行

    我正在使用 Spark 1 5 0 我有一个包含以下列的 Spark 数据框 user id description fName weight 我想做的是为每个用户选择前 10 行和后 10 行 基于列权重的值 数据类型为 Double 如
  • 如何在每行中添加行号?

    假设这些是我的数据 Maps and Reduces are two phases of solving a query in HDFS Map is responsible to read data from input location
  • Pyspark - 一次聚合数据帧的所有列[重复]

    这个问题在这里已经有答案了 我想将数据框分组到单个列上 然后对所有列应用聚合函数 例如 我有一个包含 10 列的 df 我希望对第一列 1 进行分组 然后对所有剩余列 均为数字 应用聚合函数 sum 与此等效的 R 是 summarise

随机推荐

  • 使用多个连接字符串

    Info我的解决方案中有多个项目 其中一个是 DAL 另一个是 ASP NET MVC6 项目 由于 MVC6 项目也是启动项目 我需要在其中添加连接字符串 I saw 这个解决方案 但不被接受 也不起作用 My Try 应用程序设置 js
  • 如何从 PDF 中提取表格作为文本

    我有一个 PDF 文件 其中包含表格 文本和一些图像 我想在 PDF 中有表格的地方提取表格 现在正在手动从页面中查找表 从那里我捕获该页面并保存到另一个 PDF 中 import pypdf import PdfReader PdfWri
  • R 中 GARCH 的模拟

    我正在对 GARCH 模型进行模拟 模型本身并不是太相关 我想问你的是关于优化 R 中的模拟 最重要的是 如果你看到任何矢量化的空间 我已经考虑过 但我看不到它 到目前为止我所拥有的是这样的 Let ht cond variance in
  • 获取已安装的 Android 应用程序列表

    您好 我想获取用户设备上所有已安装应用程序的列表 我已经在谷歌上搜索了很长时间 但找不到我想要的内容 但这个链接是最接近的 并且工作正常 除了我是新人不明白如何使用 getPackages 方法 并用它创建一个列表 http www and
  • abbr 标签的标题可以设置样式吗?

    采取以下代码
  • 有没有办法通过 NodeJS 检索文件/文件夹的唯一 ID?

    我面临的问题很简单 我想跟踪文件 文件夹 即使它已被重命名 删除等 NodeJS 是否提供了访问文件中这些信息的方法 我尝试过默认文件系统模块fs stats https nodejs org api fs html fs class fs
  • “ArrayAdapter 要求资源 ID 为 TextView”XML 问题

    尝试设置视图以显示时出现错误ListView对于我想显示的文件 文本文件 我很确定这与 XML 有关 我只想显示来自的信息this file fileop ReadFileAsList Installed packages txt 我的代码
  • jCarousel - 如何通过自动滚动在悬停时暂停?

    JCarousel 最近发生了变化 2011 年 1 月 它曾经有一种方法可以通过自动滚动实现悬停暂停 在新版本中 我无法解决如何让自动滚动在悬停时停止 我希望滚动在鼠标悬停时停止并在鼠标移出时重新开始 有什么建议么 示例代码在这里 htt
  • HTML 无法更改 Div 的高度

    所以我正在开发井字游戏 但由于某种原因我的 div 不会改变它们的高度 html background color black color white text align center cell border 1px solid whit
  • 在 SQL LIKE 子句中使用 SqlParameter 不起作用

    我有以下代码 const string Sql select distinct name from tblCustomers left outer join tblCustomerInfo on tblCustomers Id tblCus
  • Firebase OrderByKey 的 startAt 和 endAt 给出错误的结果

    我有 3 个带有键的对象 如下所示 它们的格式为 YYYYMMDD 我正在尝试获取一个月的数据 但我没有得到所需的输出 当我这样查询时 var ref db child KPXECP6a1pXaM4gEYe0 ref orderByKey
  • Bootstrap 模态框不显示

    我想测试 Bootstrap 的模式元素并创建了一个小测试页面 但什么也没有出现 我想知道为什么 有什么线索吗 我从引导页面获取了源代码 我的测试页面位于http ronhome no ip org bootstrap modal html
  • Woocommerce,根据运输类别隐藏运输方法

    我试图根据运输类别隐藏除一种运输方法之外的所有运输方法 本质上是在选择属于特定类别的产品时强制使用 FedEx 隔夜方法 我从这段代码 并将其修改如下 add filter woocommerce available shipping me
  • 如何更改Flutter Web应用程序的默认Web服务器IP(127.0.0.1)

    更改flutter web App的默认IP 127 0 0 1 我创建了一个 flutter Web 应用程序 当我运行该 Web 应用程序时 分配的 IP 是 127 0 0 1 但我无法通过 LAN 使用本地 IP 访问同一应用程序
  • 如何纠正 v4.DrawerLayout 中的 NullPointerException? [复制]

    这个问题在这里已经有答案了 我正在尝试实现一个导航抽屉 但由于某些原因我得到了这个空指针异常 我在这上面花了很多时间 但毫无结果 这是我的代码的一部分 我不明白为什么它返回空指针异常 我需要导入任何库吗 提前致谢 package com m
  • Spring data redis - 监听过期事件

    我想使用 KeyExpirationEventMessageListener 监听过期事件 但我找不到示例 有人知道如何使用 Spring boot 1 4 3 和 Spring Data Redis 来做到这一点吗 我目前正在做这个 Je
  • 在 Codename One 项目中本地保存图像

    我已按照此视频中创建相机捕获页面的教程进行操作 http www youtube com watch v nF4eqzVcsic 所以我现在的代码如下所示 protected void onCamera CaptureButtonActio
  • 通过命令提示符执行 PHP5 脚本时是否可以读取 cookie/session 值?

    当我使用命令提示符执行 php 脚本时 我需要从 cookie 或会话中读取一些值 我怎样才能做到这一点 如何从 Windows 命令提示符访问 cookie 或会话值 Cookie 是从用户的网络浏览器发送的 当您从命令行执行 php 脚
  • Python icmp 套接字服务器(不是 tcp\udp)

    我正在尝试用 Python 编写一个可以接收 ICMP 数据包的套接字服务器 这是我的代码 s socket socket socket AF INET socket SOCK RAW socket IPPROTO ICMP host so
  • Spark如何处理大于集群内存的数据

    如果我只有 1 个内存为 25 GB 的执行器 并且它一次只能运行一个任务 那么是否可以处理 转换和操作 1 TB 数据 如果是 那么它将如何读取以及中间数据将存储在哪里 同样对于相同的场景 如果 hadoop 文件有 300 个输入拆分