当前位置: 首页 > news >正文

甘肃水利工程建设管理网站win10优化大师

甘肃水利工程建设管理网站,win10优化大师,公司网站 免费模板,工业外观设计Spark相关的依赖冲突持续更新总结 Spark-Hive_2.11依赖报错 这个依赖是Spark开启支持hive SQL解析,其中2.11是Spark对应的Scala版本,如Spark2.4.7,对应的Scala版本是2.11.12;这个依赖会由于Spark内部调用的依赖guava的版本问题出…

Spark相关的依赖冲突持续更新总结

Spark-Hive_2.11依赖报错

  • 这个依赖是Spark开启支持hive SQL解析,其中2.11是Spark对应的Scala版本,如Spark2.4.7,对应的Scala版本是2.11.12;这个依赖会由于Spark内部调用的依赖guava的版本问题出现冲突;这个spark版本中的guava版本为 16.0.1 ,该版本中移除了相关方法,所以会导致报错。

  • 对于spark 2.3.2,2.4.7版本,使用的依赖如下,在本地执行测试的时候报错误:

    • Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedMillis()J

报错解决办法

  • pom如下
<dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.11</artifactId><version>2.4.7</version></dependency>
  • 解决方法:排除依赖,如下
      <dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.11</artifactId><version>2.4.7</version><exclusions><exclusion><artifactId>guava</artifactId><groupId>com.google.guava</groupId></exclusion></exclusions></dependency>
  • 当依赖中同时有上述两项时,如果想要使用hive支持,那么按照问题一的解决办法,排除相关依赖后,即便有hive的相关依赖,也同样会报第二个问题的错误:

    • Exception in thread “main” java.lang.IllegalArgumentException: Unable to instantiate SparkSession with Hive support because Hive classes are not found.
  • 在pom文件中添加guava 的低版本依赖可以解决上述问题。

  • pom

  • <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>14.0.1</version></dependency>
    

在提交任务运行时,报了如下错误:

Caused by: java.lang.BootstrapMethodError: call site initialization exception

Caused by: java.lang.invoke.LambdaConversionException: Invalid receiver type interface org.apache.http.Header; not a subtype of implementation type interface org.apache.http.NameValuePair

问题原因

环境中httpclient包版本太低(其他类似报错也是对应包版本问题导致)

解决方案

  • 确定哪个包引起

  • 找到报错中的错误信息,如本例中:
    org.apache.http.Header
    org.apache.http.NameValuePair

  • 在IDEA中新建一个文件,复制上述两行代码,然后按住Ctrl,点击Header和NameValuePair跳转到他们的定义文件中。然后按住Ctrl点击定义文件上方的package,这里是http。会在IDEA左侧显示属于哪个jar包。

  • package org.apache.http;

  • IDEA里解决冲突
    如果是在IDEA中开发,可参考
    https://www.cnblogs.com/xxoome/p/13858569.html解决,但该方法只是在你本地开发环境(即IDEA中解决了冲突),当提交到集群环境中运行时,是会报一样的错。甚至在本地开发环境压根没遇到过jar包冲突,但到集群上去跑时,就会报错。原因是因为集群环境有自己jar包使用顺序。

  • spark环境中解决冲突
    当我们用spark-submit或spark-shell提交代码时,Spark application运行加载依赖有三个地方:

    • SystemClasspath – Spark安装时候提供的依赖包 【SystemClassPath】
    • Spark-submit --jars 提交的依赖包 【UserClassPath】
    • Spark-submit app.jar或者shadowJar打的jar 【UserClassPath】
    • Spark 依赖包默认优先级
  • 默认加载顺序如下:

  • SystemClasspath – Spark安装时候提供的依赖包

  • UserClassPath – Spark-submit --jars 提交的依赖包 或用户的app.jar

  • 具体参考:
    https://blog.csdn.net/adorechen/article/details/90722933
    https://blog.csdn.net/a822631129/article/details/118933856
    https://blog.csdn.net/weixin_43845733/article/details/109678670


http://www.hrbkazy.com/news/41405.html

相关文章:

  • 做网站不想用微软雅黑了推广网络营销案例
  • 用什么软件做网站布局厦门网站建设
  • 小工作室做网站免费web服务器网站
  • 英语翻译网站开发网络软文名词解释
  • 高端品牌网站建设廊坊seo排名
  • 自助网站能在百度上搜到么软文广告案例分析
  • 上海网站制作顾seo标题优化导师咨询
  • 打鱼网站怎么做常熟seo网站优化软件
  • 太原网站建设哪家便宜云南疫情最新情况
  • 做招聘网站需要什么苏州百度代理公司
  • 长沙推广网站网站建设策划书范文
  • 优惠劵精选网站怎么做站长工具seo综合查询降级
  • 网站建设 千助如何制作一个个人网站
  • 什么叫响应式网站想要推广网页
  • 购物网站首页设计中囯军事网
  • 怎么做企业网站推广百度官网首页下载
  • 南平网站建设爱站小工具计算器
  • 重庆企业网站营销设计湖北网站建设制作
  • 各大网站的域名是什么原因百度竞价推广怎么样才有效果
  • 大型建设网站百度网站登录
  • 用什么做php网站百度客服人工电话24小时
  • 新开传奇网站3000ok线上引流的八种推广方式
  • 网站上面如何加入视频个人网站免费推广
  • 微信淘宝购物券网站是怎么做的搜狗推广效果好吗
  • 中企动力主要是干嘛的上海好的seo公司
  • wordpress又拍云cdn教程seo爱站网
  • php自己写框架做网站如何联系百度客服
  • 朝阳住房和城乡建设官方网站seo诊断专家
  • 陕西安康网站建设长沙疫情最新数据消息
  • 直接用apk 做登陆网站线上广告