Skip to content

程序员灯塔

Menu
  • Download
  • sitemap
  • 文章归档
  • 标签归档
  • 示例页面
Menu

spark Sql语句很长时Driver端出现栈溢出 java.lang.StackOverflowError

Posted on 2019 年 10 月 12 日

执行类似如下形式的Sql:

select user_id from qt_revert_for_dmp where ((attr[‘535951390’] is not null and get_json_object(attr[‘535951390′],’$.yymmdd’)>20150624) or (attr[‘202697188’] is not null and get_json_object(attr[‘202697188′],’$.yymmdd’)>20150624) or (attr[‘90893145’] is not null and get_json_object(attr[‘90893145′],’$.yymmdd’)>20150624) )…

完整的Sql很长,达到18k。执行报错:

Exception in thread “Thread-228” java.lang.StackOverflowError
at org.apache.spark.sql.hive.HiveQl$.nodeToExpr(HiveQl.scala:1096)
at org.apache.spark.sql.hive.HiveQl$.nodeToExpr(HiveQl.scala:1050)
at org.apache.spark.sql.hive.HiveQl$.nodeToExpr(HiveQl.scala:1050)
…
at app.ecom.dmp.haystack.ExecSql$$anonfun$run$1.apply$mcVI$sp(QueryEngine.scala:164)
at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:141)
at app.ecom.dmp.haystack.ExecSql.run(QueryEngine.scala:161)

 

Driver 栈溢出,可以在 spark-defaults.conf 里适当调大

spark.driver.extraJavaOptions -Xss=1024m

 

近期文章

  • 技术网站
  • 世界,您好!
  • Git学习记录(learngitbranching.js.org)
  • 阿里职场潜规则
  • 寻找两个正序数组的中位数

近期评论

  1. 一位 WordPress 评论者 发表在 世界,您好!

归档

  • 2024 年 9 月
  • 2024 年 3 月
  • 2022 年 12 月
  • 2021 年 8 月
  • 2021 年 6 月
  • 2021 年 3 月
  • 2021 年 2 月
  • 2020 年 11 月
  • 2020 年 5 月
  • 2020 年 3 月
  • 2019 年 11 月
  • 2019 年 10 月
  • 2019 年 9 月
  • 2019 年 7 月
  • 2019 年 6 月
  • 2019 年 5 月
  • 2019 年 3 月
  • 2018 年 9 月
  • 2018 年 8 月
  • 2018 年 7 月
  • 2018 年 4 月
  • 2018 年 2 月
  • 2018 年 1 月
  • 2017 年 12 月
  • 2017 年 11 月
  • 2017 年 10 月
  • 2017 年 8 月
  • 2017 年 7 月

分类目录

  • 未分类
©2025 程序员灯塔 | Design: Newspaperly WordPress Theme