Spark失败:引起:org.apache.spark.shuffle.FetchFailedException:框架太大:5454002341

2024-03-11

我正在为确定父子项的表生成层次结构。

以下是使用的配置,即使在收到有关太大框架的错误后也是如此:

火花特性

--conf spark.yarn.executor.memoryOverhead=1024mb \
--conf yarn.nodemanager.resource.memory-mb=12288mb \
--driver-memory 32g \
--driver-cores  8 \
--executor-cores 32 \
--num-executors 8 \
--executor-memory 256g \
--conf spark.maxRemoteBlockSizeFetchToMem=15g

import org.apache.log4j.{Level, Logger};
import org.apache.spark.SparkContext;
import org.apache.spark.sql.{DataFrame, SparkSession};
import org.apache.spark.sql.functions._;
import org.apache.spark.sql.expressions._;

lazy val sparkSession = SparkSession.builder.enableHiveSupport().getOrCreate();

import spark.implicits._;

val hiveEmp: DataFrame = sparkSession.sql("select * from db.employee");
hiveEmp.repartition(300);
import org.apache.spark.sql.functions._;

val nestedLevel = 3;

val empHierarchy = (1 to nestedLevel).foldLeft(hiveEmp.as("wd0")) { (wDf, i) =>
  val j = i - 1
  wDf.join(hiveEmp.as(s"wd$i"), col(s"wd$j.parent_id".trim) === col(s"wd$i.id".trim), "left_outer")
}.select(
  col("wd0.id") :: col("wd0.parent_id") ::
  col("wd0.amount").as("amount") :: col("wd0.payment_id").as("payment_id") :: (
    (1 to nestedLevel).toList.map(i => col(s"wd$i.amount").as(s"amount_$i")) :::
    (1 to nestedLevel).toList.map(i => col(s"wd$i.payment_id").as(s"payment_id_$i"))

  ): _*);

empHierarchy.write.saveAsTable("employee4");

Error

Caused by: org.apache.spark.SparkException: Task failed while writing rows
   at org.apache.spark.sql.execution.datasources.FileFormatWriter$.org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask(FileFormatWriter.scala:204)
   at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:129)
   at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:128)
   at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
   at org.apache.spark.scheduler.Task.run(Task.scala:99)
   at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:322)
   ... 3 more
Caused by: org.apache.spark.shuffle.FetchFailedException: Too large frame: 5454002341
   at org.apache.spark.storage.ShuffleBlockFetcherIterator.throwFetchFailedException(ShuffleBlockFetcherIterator.scala:361)
   at org.apache.spark.storage.ShuffleBlockFetcherIterator.next(ShuffleBlockFetcherIterator.scala:336)

使用此 Spark 配置,spark.maxRemoteBlockSizeFetchToMem

由于> 2G分区存在很多问题(无法洗牌,无法在磁盘上缓存),因此它抛出failedfetchedException太大的数据帧。

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

Spark失败:引起:org.apache.spark.shuffle.FetchFailedException:框架太大:5454002341 的相关文章

随机推荐

  • 带有 pdf 黑色闪烁的 iframe(闪烁)

    我的页面上有一个带有 pdf 的 iframe 并尝试在滚动 iframe 时禁用主窗口的滚动 这是它的代码 iframe mouseover function var html html html data previous overfl
  • htaccess 将除一页之外的所有页面从 html 重定向到 php

    我的网站设置为 htaccess 将所有页面从 html 定向到 php 如下所示 RewriteEngine On RewriteBase RewriteCond HTTP HOST website com RewriteRule htt
  • 当 iPad 处于纵向方向时缩小 Mobile Safari 视口宽度?-

    我正在开发一个网站 该网站设计为在 iPad 上以横向模式查看时效果最佳 一切都是 1024px 宽 div 容器 然而 我仍然需要缩小视口 这样当用户将 iPad 转为纵向时 用户不必缩小或水平滚动来查看页面上的所有内容 目前我有这个标签
  • 正则表达式匹配任何包含特定字母或更多字母的单词?

    我需要一个正则表达式来匹配任何包含字母的单词 m a h d以任何顺序在一起 所以 Mohamed Hamada and Mahmoud匹配 但是hammer不匹配 我尝试执行以下操作 我是正则表达式的新手 Regex reg new Re
  • 索引和长度必须引用字符串内的位置?

    我想获取前 50 个字母 所以我使用了subString函数来获取它 如您所见 我使用以下代码来获取它 但不幸的是它不起作用并且出现错误消息 索引和长度必须引用字符串中的位置 那么还有其他方法可以修复吗 因为用户是控制数据输入的人 有时他会
  • float 到 long 转换时出错[重复]

    这个问题在这里已经有答案了 我猜这是由于浮点和准确性造成的 但我只是想检查一下以确保没有遗漏任何其他内容 我有一个 1007 62 的浮点数 存储在 info Amount 中 该浮点数乘以 100 并转换为 long 此时我得到的值为 1
  • 集合类型属性的设置器

    集合类型属性是否需要设置器 Type 1 class Company private IList
  • uWSGI、Flask、sqlalchemy 和 postgres:SSL 错误:解密失败或坏记录 mac

    我正在尝试使用 uWSGI Nginx 设置一个应用程序网络服务器 它使用 SQLAlchemy 运行 Flask 应用程序来与 Postgres 数据库进行通信 当我向网络服务器发出请求时 所有其他响应都将是 500 错误 错误是 Tra
  • Java日期更改格式[重复]

    这个问题在这里已经有答案了 我正在尝试更改格式Date对象 我尝试这样做 for Date date dates DateFormat formatter new SimpleDateFormat yyyy MM dd String for
  • 将 Python 枚举编码为 JSON

    我有一本字典 其中一些键是 Enum 实例 enum Enum 的子类 我正在尝试使用自定义 JSON 编码器类将字典编码为 JSON 字符串 如下所示文档 https docs python org 3 library json html
  • 创建卷的 Docker 容器后,本地主机上的权限更改为 1000

    我的容器使用外部卷创建后 权限变为1000 drwxr x 71000 10004096 三月 02 01 13 my domain 每次我需要更改它我的用户 AS docker 由 root 用户安装 我怎样才能避免这种情况 有人可以写点
  • 将 Jython 与 Maven 结合使用

    我有一个 Maven 模块 它依赖于我通过 jython 代码访问的各种其他 Maven 依赖项 我现在已经完成了 我想将项目编译为 jar 或者甚至只是运行它而不编译 但我不知道从哪里开始 有谁知道如何运行一些 py 文件来访问其他包中的
  • MYSQL - 使用 while 循环更新

    declare c int set c 1 while c lt 700 do update users set profile display name concat substring first name 1 1 last name
  • .NET Core 更新迁移正在尝试再次重新创建表

    我首先正在开发 net core 3 项目代码 在此步骤中 我在表中添加了 2 列 然后我通过此代码 CLI 对解决方案进行了迁移添加 dotnet ef startup project MyApi Api migrations add a
  • mysql.service 丢失但显示在列表中 - 安装失败

    我使用的是 Ubuntu 17 04 长话短说 在与 MariaDB 进行了一些斗争之后 我遵循了一些关于如何完全地从我的家庭服务器中删除 MySQL 和 MariaDB 现在我无法重新安装mysql server 当我尝试时出现此错误 F
  • 非 ANSI 文件的 TStringList 行为

    在我的应用程序中 当我想要导入文件时 我使用 TStringList 但是 当有人从Excel导出数据时 文件编码是UCS 2 Little Endian TStringList无法读取数据 有什么方法可以验证这种情况 识别文本编码并向用户
  • Mod_wsgi工作进程分段错误(11)

    我的 django 应用程序有问题 该应用程序由 apache mod wsgi 托管 我在应用程序中添加了一些 matplotlib 代码 apache 工作进程现在崩溃了 我将这个问题简化为以下内容 没有任何 matplotlib 导入
  • 添加模型到集合后自动保存

    我有一个收藏myCollection我向其中添加模型如下 myCollection add title Romeo and Juliette author Shakespear 我现在可以将这个添加的模型保存到服务器吗 骨干Collecti
  • 找不到方法:'Void Google.Apis.Util.Store.FileDataStore..ctor(System.String)'

    我已经被困在这个问题上好几天了 我从 google api 示例中复制了确切的代码以将文件上传到 Google Drive 这是代码 UserCredential credential GoogleWebAuthorizationBroke
  • Spark失败:引起:org.apache.spark.shuffle.FetchFailedException:框架太大:5454002341

    我正在为确定父子项的表生成层次结构 以下是使用的配置 即使在收到有关太大框架的错误后也是如此 火花特性 conf spark yarn executor memoryOverhead 1024mb conf yarn nodemanager