Spark NoSuchMethodError
程序员文章站
2022-07-14 20:39:16
...
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解决就好了。
上一篇: 关于学习Bootstarp的一些注意事项
下一篇: Delta Lake 测试案例
推荐阅读
-
spark dataframe 将一列展开,把该列所有值都变成新列的方法
-
CarbonData 大数据交互式分析实践(spark summit)
-
spark平台基本组成(spark安装详细教程)
-
spark 安装教程(spark环境搭建及配置)
-
hadoop搭建步骤(spark和hadoop的区别)
-
spark-windows(含eclipse配置)下本地开发环境搭建
-
Spark异常:A master URL must be set in your configuration处理记录
-
spark读取hdfs文件规则(spark处理超大文件方法)
-
Spark RDD API详解之:Map和Reduce
-
spark平台基本组成(spark安装详细教程)