参考: https://stackoverflow.com/questions/43023961/spark-kryo-serializers-and-broadcastmapobject-iterablegowalladatalocation

问题描述:

在pairRDD 进行sortByKey时报错,找到130行,回去看需要sort的RDD ,发现里面涉及的broadcast

点进去 130行

原来的代码写法:

Map<String, Model> SPUMap = SPUProductFormateRdd.collectAsMap(); Broadcast<Map<String, Model>> bcSPUMap = sc.broadcast(SPUMap); //FIX 在本地执行的时候正常,在服务器上执行的时候就会报java.lang.UnsupportedOperationException

最后修改为:

Map SPUMap = new HashMap();
SPUMap.putAll(SPUProductFormateRdd.collectAsMap());
//                Map<String, Model> SPUMap = SPUProductFormateRdd.collectAsMap();
Broadcast<Map<String, Model>> bcSPUMap = sc.broadcast(SPUMap);

程序正常执行

至于为什么本地的时候可以,还没找到答案,也欢迎大神解答

参考:https://stackoverflow.com/questions/43023961/spark-kryo-serializers-and-broadcastmapobject-iterablegowalladatalocation问题描述:在pairRDD 进行sortByKey时报错,找到130行,回去看需要sort的RDD ,发现里面涉及的broadcast如下图:...
前言:做开发一定要注意细节,要学会看底层代码分析一些 异常 。 在开发过程对List进行操作时报错 java . lan g.Un supported Operation Exception ,仔细查看代码,初步发现该List是由数组转换而成,通过源码找到问题根源。 示例代码: List<String> strArrays = Arrays.asList(str); strArrays.remove(...
Spark 报错: java . lan g.Un supported Operation Exception : Unimplemented type:LongType 记录一下 Spark 报错,好记性不如烂笔头 背景: spark 程序读取数据报错打开下面是 spark 的报错信息 测试代码是: spark .read.parquet(path).show() 这个问题是目录里面的parquet文件的schema信息不一致导致的,详细的原因是:目录下面的多个parquet文件中的字段个数和字段的名称是一致的。但是有一个
今天在使用,set集合的add方法时,抛出了一个 异常 java . lan g.Un supported Operation Exception 下面进行错误的复盘,代码如下:public static void main(String[] args) { Set<Object> set = PropertiesUtil.getKeyValue("xzqhall"); set.ad
String[] icarr = ic.split(","); List<String> iconlist = Arrays.asList(icarr); int len = iconlist.size(); for (int...
转自https://blog.csdn.net/Tracycater/article/details/77592472?locat io nNum=2&amp;fps=1 做开发一定要注重细节。 在项目中对List进行操作时报错 java . lan g.Un supported Operation Exception ,后来发现操作的List是由数组转换而成的,通过看源码发现问题,并写测试程序如下。  代码块:...
spark 2.2错误 java . lan g.Un supported Operation Exception : No Encoder found for org.apache. spark .sql.Row解决办 1、错误描述: Exception in thread "main" java . lan g.Un supported Operation Exception : No Encoder found for...
我们知道,Arrays.asList返回的是个ArrayList,但是为什么不能修改呢? 其实,原因有点隐蔽,当我们仔细看Arrays的源码会发现,Arrays自己实现了一个ArrayList,仅仅是名字和常用的那个相同而已,而它返回的数组对象可用的方法就在下边: @SafeVarargs public static List asList(T... a) {
原因:读取方法不对// val rdd = sc.loadParquetContigFragments(args(0)) 解决办法:val rdd = sc.loadSequence(args(0)) 运行记录:hadoop@Master:~/xubo/project/load/loadfastaFromHDFSAdamAndCount$ ./loadGRCH38chr14.sh start