Spark:线程“主”org.apache.spark.sql.catalyst.errors.package中出现异常

2023-11-22

运行我的 Spark-submit 代码时,我在执行时收到此错误。

执行连接的 Scala 文件。

我只是想知道这个 TreeNodeException 错误是什么。

为什么我们会出现这个错误?

请分享您对此 TreeNodeException 错误的想法:

Exception in thread “main” org.apache.spark.sql.catalyst.errors.package$TreeNodeException: execute, tree:

好吧,上面给出的堆栈跟踪不足以理解根本原因,但正如您所提到的,您正在使用联接,很可能是因为这个原因而发生的。我在加入时遇到了同样的问题,如果你挖掘堆栈跟踪,你会看到类似的东西 -

+- *HashAggregate(keys=[], functions=[partial_count(1)], output=[count#73300L])
+- *Project
+- *BroadcastHashJoin 
...
Caused by: java.util.concurrent.TimeoutException: Futures timed out after [300 seconds]

这给出了失败原因的提示,Spark 尝试使用“广播哈希连接”进行连接,该连接具有超时和广播大小阈值,其中任何一个都会导致上述错误。要根据潜在错误修复此问题 -

增加“spark.sql.broadcastTimeout”,默认为 300 秒 -

spark = SparkSession
  .builder
  .appName("AppName")
  .config("spark.sql.broadcastTimeout", "1800")
  .getOrCreate()

或者增加广播阈值,默认为10 MB -

spark = SparkSession
      .builder
      .appName("AppName")
      .config("spark.sql.autoBroadcastJoinThreshold", "20485760 ")
      .getOrCreate()

或者通过将值设置为 -1 来禁用广播连接

spark = SparkSession
          .builder
          .appName("AppName")
          .config("spark.sql.autoBroadcastJoinThreshold", "-1")
          .getOrCreate()

更多详情可在这找到 -https://spark.apache.org/docs/latest/sql-performance-tuning.html

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

Spark:线程“主”org.apache.spark.sql.catalyst.errors.package中出现异常 的相关文章

  • 在 Scala 中扩展函数1

    在几个例子中 我看到一个对象或一个类扩展Function1 E g object Cash extends CashProduct gt String in Scala 的隐藏功能 https stackoverflow com quest
  • 如何将数据帧转换为 JSON 并使用密钥写入 kafka 主题

    我正在尝试以 JSON 格式向 kafka 写入一个数据帧 并在 Scala 中向该数据帧添加一个键 我目前正在使用 kafka spark 中的这个示例 df selectExpr CAST key AS STRING CAST valu
  • 函数式 Scala 中的选择排序

    我正在学习 Scala 编程 并编写了选择排序算法的快速实现 然而 由于我对函数式编程还不太了解 所以在转换为更 Scala 风格时遇到了困难 对于 Scala 程序员来说 如何使用 Lists 和 vals 来做到这一点 而不是回到我的命
  • Scala 程序中三元运算符的用法[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我有一个需要应用过滤器的对象数组 val filteredList list filter l gt pid true l Pro
  • Java时间转正常格式

    我有 Java 时间1380822000000 我想转换为我可以阅读的内容 import java util Date object Ws1 val a new Date 1380822000000 toString 导致异常 warnin
  • 如何将 Spark DataFrame 以 csv 格式保存在磁盘上?

    例如 这样的结果 df filter project en select title count groupBy title sum 将返回一个数组 如何将 Spark DataFrame 作为 csv 文件保存在磁盘上 Apache Sp
  • 如何使用 zio-test 测试异常情况

    我有以下功能 我想测试 def people id Int RIO R People 如果有 People 则此函数返回 Peopleid 分别 如果没有则失败 例如 IO fail ServiceException s No People
  • sh / Bash shell 脚本中 !# (bang-pound) 的含义是什么?

    我想了解这个 Scala 脚本是如何工作的 usr bin env bash exec scala 0 object HelloWorld def main args Array String println Hello world arg
  • 使用spark-sql从oracle加载数据时如何增加默认精度和小数位数

    尝试从 oracle 表加载数据 其中我有几列保存浮点值 有时它最多保存 DecimalType 40 20 即点后 20 位数字 目前 当我使用加载其列时 var local ora df DataFrameReader ora df l
  • 伴随对象中的方法编译成scala中的静态方法?

    看起来 scala 将伴生对象中的方法编译为静态方法 这使得从 java 代码中调用它们变得更容易一些 例如 您可以编写 CompanionObject method 而不是 CompanionObject MODULE method 然而
  • 使用 Reader Monad 进行依赖注入

    我最近看到了谈话极其简单的依赖注入 http www youtube com watch v ZasXwtTRkio and 无需体操的依赖注入 http vimeo com 44502327关于 Monads 的 DI 并留下了深刻的印象
  • 无法在 NetBeans 7.4rc1 上安装 nb-scala

    我已经安装了 NB 7 4rc1 并从下载了 nb scalahttp sourceforge net projects erlybird files nb scala http sourceforge net projects erlyb
  • 无法证明与路径相关类型的等价性

    为什么最后一个summon编译失败 我该怎么做才能让它编译 import java time LocalDateTime LocalTime trait Circular T type Parent given localTimeCircu
  • Scala 正则表达式替换为匿名函数

    在 Ruby 中 我可以通过以下方式替换字符串中的字符 a one1two2three a gsub d e e to i 1 gt one2two3three 从第二行开始评估块的结果将替换模式中匹配的内容 我们可以在 Scala 中做类
  • 如何插入UUID的值?

    我在 Play Framework 2 3 支持的 postgresql 9 4 中使用 anorm 2 4 给出一个这样的模型 case class EmailQueue id UUID send from String send to
  • Talend 和 Apache Spark?

    我对 Talend 和 Apache Spark 在大数据生态系统中的定位感到困惑 因为 Apache Spark 和 Talend 都可以用于 ETL 有人可以用一个例子解释一下吗 Talend 是一种基于工具的大数据方法 通过内置组件支
  • Scala:var List 与 val MutableList

    在 Odersky 等人的 Scala 书中 他们说使用列表 我还没有从头到尾读过这本书 但所有的例子似乎都使用了 val List 据我了解 还鼓励人们使用 vals 而不是 vars 但在大多数应用程序中 使用 var List 或 v
  • Spark Shuffle 写入超慢

    为什么对于 1 6MB shuffle 写入和 2 4MB 输入 spark shuffle 阶段如此缓慢 为什么 shuffle 写入仅发生在一个执行器上 我正在运行一个 3 节点集群 每个集群有 8 个核心 火花用户界面 Code Ja
  • 如何访问 Spark Streaming 应用程序的统计端点?

    从 Spark 2 2 0 开始 API 中有新的端点用于获取有关流作业的信息 我在 EMR 集群上运行 Spark 在集群模式下使用 Spark 2 2 0 当我到达流作业的端点时 它给我的只是错误消息 没有附加到的流侦听器 我已经深入研
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件

随机推荐

  • M1(Apple Silicon)上的 CocoaPods 失败,架构错误

    由于 ffi 问题 在 M1 MacBook 上运行 pod install 失败 如上所述here 我遵循了一些解决方法 我想我以不同的顺序尝试了所有这些方法 但现在我得到了一个略有不同的错误 LoadError dlopen opt h
  • 将 java.util.Calendar ISO 8601 格式转换为 java.sql.Timestamp

    我有一个 ISO 8601 日期格式的日期2015 09 08T01 55 28Z 我使用此代码将 ISO 8601 命运转换为 Calendar 对象 Calendar cal javax xml bind DatatypeConvert
  • 如何在SQL表中插入默认值?

    我有一个这样的表 create table1 field1 int field2 int default 5557 field3 int default 1337 field4 int default 1337 我想插入具有 field2
  • 将浮点数转换为字符串的最快 C++ 方法

    我遇到了将浮点数转换为字符串的问题to string对我来说太慢了 因为我的数据可能涉及几百万个浮点数 我已经有了解决方案如何快速写出这些数据 然而 在解决这个问题之后 我很快意识到浮点到字符串的转换正在留下很大的影响 那么 除了使用其他非
  • SVG 中的 HTML

    我想在一个文件中添加一些 HTML 标记SVG绘画 据我所知 这是不可能的SVG 图像显示在浏览器中 有没有办法画HTML上面的SVG 因为我想使用CSS table特点HTML the SVG
  • 如何以编程方式创建给定网站的屏幕截图?

    我希望能够创建给定网站的屏幕截图 但该网站可能大于屏幕上可以查看的大小 我有办法做到这一点吗 目标是在 WinForms 应用程序中使用 C 中的 NET 来完成此操作 有一些工具 问题是 您需要在某个给定的程序中渲染它 并拍摄它的快照 我
  • Eclipse 选项卡损坏了如何修复?

    我刚刚下载了 eclipse 但它显示的语言是错误的 我该如何解决这个问题 这是由 Windows 中的字体设置引起的 它描述于thisEclipse 错误报告 由于不是 Eclipse 错误而关闭 您应该能够在 Eclipse 中通过更改
  • CakePHP 中的模型可以有多个表吗?

    CakePHP 中的模型可以有多个表吗 从说明书上这句话猜测 模型通常是数据库的访问点 更具体地说 是数据库中某个表的访问点 默认情况下 每个模型都使用其名称的复数形式的表 即 User 模型使用 users 表 我不这么认为 但你可以建立
  • PHP 中参数类型可以特化吗

    假设我们有以下两个类 abstract class Foo public abstract function run TypeA object class Bar extends Foo public function run TypeB
  • 如何自动缩放字体大小以适应 div 的内容?

    我有一个带有一些文本的 div div style width 50px With some text in it div 如何缩放文本的字体大小以使所有文本都可见 反之亦然 您可以将文本包装在内部 DIV 中 并使用 JavaScript
  • 有关 Azure 实例分配带宽的问题

    我从 Azure 了解到一些事实 每个实例的带宽有限 例如 Extra Small 实例有 5Mb s 我们只支付出站带宽 入站免费 同一个数据中心 流量免费 即使对于小实例 我检查了网络接口 连接速度为10G 因此分配的带宽始终低于网络接
  • 使用通知模式进行域验证

    从历史上看 我在对象的构造函数中对对象进行了验证 并在验证失败时抛出异常 例如 class Name const MIN LENGTH 1 const MAX LENGTH 120 private value public function
  • Idris:是否可以使用“with”重写所有函数以使用“case”而不是“with”?如果不是,能举个反例吗?

    在 Idris 中 是否可以使用 重写所有函数 with 使用 case 而不是 with 如果不是 能举个反例吗 不可能 当你模式匹配时with 上下文中的类型将使用从匹配的构造函数中提取的信息进行更新 case不会导致此类更新 例如 以
  • Ninject 3 InRequestScope 未针对同一请求返回同一实例

    最近 我将我的一个 MVC3 项目从 Ninject 2 升级到 Ninject 3 经过几分钟尝试找出 InRequestScope 不再可用的原因 我发现它现在是 Ninject Web Common 的扩展 现在 当我尝试运行应用程序
  • Java中如何比较字符串和枚举类型?

    我有美国所有州的枚举列表 如下所示 public enum State AL AK AZ AR WY 在我的测试文件中 我将从包含状态的文本文件中读取输入 由于它们是字符串 我如何将它与枚举列表的值进行比较 以便为我设置的变量赋值 priv
  • 如何防止此错误:警告:mysql_fetch_assoc() 期望参数 1 为资源,布尔值在...第 11 行给出[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 错误 mysql fetch array 期望参数 1 为资源 给定布尔值 我对这个错误感到非常困惑 当我尝试从不存在的数据库返回结果时它会显示 我尝试过mysql num rows 但它返回
  • 在 Fortran 中强制将 Intent(in) 声明的变量作为常量,也在被调用的子例程/函数中执行

    在子例程或函数中 可以使用intent in 定义输入变量 并且编译器确保在子例程内该变量不能被更改 一旦变量被传递 通过引用 到另一个子例程 该子例程就能够更改变量而不会出现编译器警告 这是用 gfortran 测试的 代码如下 prog
  • java 中的 System.exit(0)

    我正在使用 swing 编写一个应用程序 我需要通过单击退出应用程序JButton为此我可以使用System exit 或者我应该使用其他一些方法 这是最佳实践 如果打电话System exit 不是最佳实践 然后告诉原因并告诉退出应用程序
  • 这里的文档和双反斜杠

    如果我在包含多个反斜杠 的 shell 脚本中使用此处文档 则 shell 会将其转换为单个反斜杠 我可以在不更改文本的情况下解决这个问题吗 cat lt
  • Spark:线程“主”org.apache.spark.sql.catalyst.errors.package中出现异常

    运行我的 Spark submit 代码时 我在执行时收到此错误 执行连接的 Scala 文件 我只是想知道这个 TreeNodeException 错误是什么 为什么我们会出现这个错误 请分享您对此 TreeNodeException 错