Spark NoSuchMethodError

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yyoc97/article/details/79964728

org.apache.spark.deploy.SparkHadoopUtil.getFSBytesReadOnThreadCallback()

最近玩 Spark 遇到几次 NoSuchMethodError (找不到对应的方法) ,主要还是版本问题。比如我在2.2.1中使用下面方式读取文件就会抛出异常:

SparkConf sparkConf = new SparkConf().setMaster("spark://fp-bd6:7077").setAppName("my");
        SparkSession session = SparkSession
                .builder()
                .config(sparkConf)
                .enableHiveSupport()
                .getOrCreate();
        JavaRDD<String> logRdd = session.read().textFile("xxx.log").javaRDD();
18/04/16 18:42:20 ERROR Executor: Exception in task 0.0 in stage 0.0 (TID 0)
java.lang.NoSuchMethodError: org.apache.spark.deploy.SparkHadoopUtil.getFSBytesReadOnThreadCallback()Lscala/Option;

2.2.1直接通过sparkSession无法获取,而这个方法在2.1.0其实是可以使用的。就算新版本不支持这个方法,但是通过sparkContext()就行了。

JavaRDD<String> logRdd = sparkSession.sparkContext().textFile("xxx.log", 1).toJavaRDD();

spark每个版本的变动可能大家都不会仔细了解。但遇到类似 NoSuchMethodError 错误时,想到可能是版本问题造成的,然后看官方文档修改相应API解决就好了。

阅读更多

NoSuchMethodError

11-23

我在一个JSP文件中使用usebean,然而只可以调用该bean的部分方法,其它的方法却说:NoSuchMethodError,这可能是什么原因阿?rn出错提示:rndescription The server encountered an internal error () that prevented it from fulfilling this request.rnrnexception rnrnjavax.servlet.ServletException: com.hitsun.Cart.storeToDB(Ljava/lang/String;)Vrn org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)rn org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)rn org.apache.jsp.hitsun.shop.cart_jsp._jspService(cart_jsp.java:88)rn org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:802)rn org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)rn org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)rn org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:802)rnrnrnroot cause rnrnjava.lang.NoSuchMethodError: com.hitsun.Cart.storeToDB(Ljava/lang/String;)V//我明明在Cart类中定义了storeToDB方法阿,而且我定义的Cart.addItems方法却可以使用阿.这是怎么回事?为什么有的方法可以使用,而有的却说NoSuchMethodError?????????rn org.apache.jsp.hitsun.shop.cart_jsp._jspService(cart_jsp.java:71)rn org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:802)rn org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)rn org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)rn org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:802)rnrn

没有更多推荐了,返回首页