spark2.1:在RDD[unit].foreach(s=>{})内部调用sparkSession对象抛出NullPointException
问题代码:
val sample_data_combine_result=List(
(0,(List(FitModel(4022,1447.92,-8.38983306721434,2.0),FitModel(4021,1447.92,-8.38983306721434,2.0)),2)),
(1,(List(FitModel(1083,389.88,-11.057139857142857,3.0)),1)),
(2,(List(FitModel(4022,1447.92,-8.38983306721434,2.0),FitModel(4023,1447.92,-8.38983306721434,2.0),FitModel(4024,1447.92,-8.38983306721434,2.0)),3))
) sample_data_combine_result.foreach(s=>{
var fitResultItems: ListBuffer[FitModelWithSceneType] = myCallFunc(s._2._1,s._1) // 调试跟踪结果为:
//fitResultItems=ListBuffer(
// FitModelWithSceneType(0,1,3.0,-3.9110667661835516,0.6989700043360189),
// FitModelWithSceneType(0,51,3.0,-3.9110667661835516,1.1760912590556813)
//) // 此处代码抛出异常:
spark.createDataFrame(fitResultItems).createOrReplaceTempView("temp_test")
sql("select * from temp_test").show })
替换方案:
替换方案:
val result=sample_data_combine_result.flatMap(s=>{
var fitResultItems: ListBuffer[FitModelWithSceneType] = myCallFunc(s._2._1,s._1)
fitResultItems
})
spark.createDataFrame(result).createOrReplaceTempView("temp_test")
sql("select * from temp_test").show
注意:如果你的业务可以,也可以把flatMap替换为map,我这里边是要求返回结果为一维List集合。
spark2.1:在RDD[unit].foreach(s=>{})内部调用sparkSession对象抛出NullPointException的更多相关文章
- Spring AOP不拦截从对象内部调用的方法原因
拦截器的实现原理很简单,就是动态代理,实现AOP机制.当外部调用被拦截bean的拦截方法时,可以选择在拦截之前或者之后等条件执行拦截方法之外的逻辑,比如特殊权限验证,参数修正等操作. 但是最近在项目中 ...
- 你好,C++(27)在一个函数内部调用它自己本身 5.1.5 函数的递归调用
5.1.5 函数的递归调用 在函数调用中,通常我们都是在一个函数中调用另外一个函数,以此来完成其中的某部分功能.例如,我们在main()主函数中调用PowerSum()函数来计算两个数的平方和,而在P ...
- Javascript模块化编程(一)模块的写法最佳实践六、输入全局变量 独立性是模块的重要特点,模块内部最好不与程序的其他部分直接交互。 为了在模块内部调用全局变量,必须显式地将其他变量输入模块。
Javascript模块化编程,已经成为一个迫切的需求.理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块但是,Javascript不是一种模块化编程语言,它不支持类clas ...
- spring aop 内部调用问题解决
方法1: 基于 proxy 的 spring aop 带来的内部调用问题可以使用 AopContext.currentProxy() 强转为当前的再调用就可以解决了 例如: 错误用法:public A ...
- nginx 请求文件 进行用户认证/鉴权: internal(限制为内部调用)
在进行WEB开发时, 必然会遇到向用户返回文件的场景(如图片, 文档等等), 当返回的文件较小时, 我们可以直接通过接口以数据流的形式向前台返回, 因为文件较小, 因此也不会太过于影响响应速度及服务器 ...
- 泛型方法或泛型类中的方法是内部调用、PInvoke 或是在 COM 导入类中定义的。
泛型基类中引用Api函数定义时static extern,在子类中会提示: 未处理TypeLoadException 泛型方法或泛型类中的方法是内部调用.PInvoke 或是在 COM 导入类中定义的 ...
- 是否可以从一个static方法内部调用非static方法?
不可以.静态成员不能调用非静态成员. 非static方法属于对象,必须创建一个对象后,才可以在通过该对象来调用static方法.而static方法调用时不需要创建对象,通过类就可以调用该方法.也就是说 ...
- spark2.1:rdd.combineByKeyWithClassTag的用法示例
测试spark版本: Spark context Web UI available at http://192.168.1.1:32735 Spark context available as 'sc ...
- easymock所测试的方法内部新NEW对象的处理
问题:当记录的方法的参数是方法所在类内部新NEW的对象时,静态的记录方法交互就会失效,例如 调用的方法: public calss A{ public void method(User u){ u.s ...
随机推荐
- Android Service 基础
启动方式 startService(Intent) 这种方式启动的Service可以在后台无限期的运行,与启动它的组件没有关系. bindService 绑定Service.它提供了一种类似C/S结构 ...
- Docker(四):Docker 三剑客之 Docker Compose
前两篇文章我们介绍了 Dockerfile 的使用Docker(二):Dockerfile 使用介绍,我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器就 ...
- 【Python】 编码,en/decode函数以及print语句的一些探索
昨天晚上在整理hashlib和hmac模块的时候,又看到了编码这块的内容.越看越觉得之前的理解不对,然后想研究一下自己想出来,但是越陷越深..总之把昨晚+今天一个上午的这些自己想到的东西写下来 ● 几 ...
- .NET Core快速入门教程 4、使用VS Code开发.NET Core控制台应用程序
一.前言 为什么选择VS Code?VS Code 是一款跨平台的代码编辑器,想想他的哥哥VS,并是微软出品的宇宙第一IDE,那作为VS的弟弟,VS Code 也不会差,毕竟微软出品.反正ken是这么 ...
- Algorithm --> 小于N的正整数含有1的个数
//https://leetcode.com/problems/number-of-digit-one/ Given an integer n, count the total number of d ...
- MaxPooling的作用
maxpooling主要有两大作用 1. invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度)2. 保留主要的特征同时减少参数(降 ...
- Suricata 之IPS模式
IPS 1.Suricata 本身是不具有拦截功能的,想要让它拦截包需要配合 iptables 使用. 首先要确定安装的suricata是否支持IPS模式,如果在安装编译的时候没有启用IPS模式,NF ...
- python爬虫遇到状态码304,705
304状态码是什么? 如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码.简单的表达就是:客户端已经 ...
- eclipse配置svn方法
一.在Eclipse里下载Subclipse插件 方法一:从Eclipse Marketplace里面下载 具体操作:打开Eclipse --> Help --> Eclipse Mark ...
- C语言第六次博客作业--数据类型
一.PTA实验作业 题目1:区位码输入法 1. 本题PTA提交列表 2. 设计思路 (1)定义整型变量code放区位码,areacode放区码,digitcode放位码,one放个位数,two放十位数 ...