spark2.1:flatMap的用法
代码示例:
val sample_data_combine_result=List(
(0,(List(FitModel(4022,1447.92,-8.38983306721434,2.0)),1)),
(1,(List(FitModel(1083,389.88,-11.057139857142857,3.0)),1)),
(2,(List(FitModel(4022,1447.92,-8.38983306721434,2.0)),1))
) scala> val fitResult = sample_data_combine_result.flatMap(s => {
| var fitResultItems: ListBuffer[FitModelWithSceneType] = null
| if(s._1==0){
| fitResultItems=ListBuffer(
| FitModelWithSceneType(0,1,3.0,-3.9110667661835516,0.6989700043360189),
| FitModelWithSceneType(0,51,3.0,-3.9110667661835516,1.1760912590556813)
| )
| }
| if(s._1==1){
| fitResultItems=ListBuffer(
| FitModelWithSceneType(1,1,3.0,-3.9110667661835516,0.6989700043360189),
| FitModelWithSceneType(1,51,3.0,-3.9110667661835516,1.1760912590556813),
| FitModelWithSceneType(1,101,3.0,-3.9110667661835516,1.3979400086720377)
| )
| }
| if(s._1==2){
| fitResultItems=ListBuffer(
| FitModelWithSceneType(2,1,3.0,-3.9110667661835516,0.6989700043360189),
| FitModelWithSceneType(2,51,3.0,-3.9110667661835516,1.1760912590556813),
| FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377),
| FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377),
| FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377)
| )
| }
|
| fitResultItems
| })
fitResult: List[FitModelWithSceneType] =
List(
FitModelWithSceneType(0,1,3.0,-3.9110667661835516,0.6989700043360189),
FitModelWithSceneType(0,51,3.0,-3.9110667661835516,1.1760912590556813),
FitModelWithSceneType(1,1,3.0,-3.9110667661835516,0.6989700043360189),
FitModelWithSceneType(1,51,3.0,-3.9110667661835516,1.1760912590556813),
FitModelWithSceneType(1,101,3.0,-3.9110667661835516,1.3979400086720377),
FitModelWithSceneType(2,1,3.0,-3.9110667661835516,0.6989700043360189),
FitModelWithSceneType(2,51,3.0,-3.9110667661835516,1.1760912590556813),
FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377),
FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377),
FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377)
)
spark2.1:flatMap的用法的更多相关文章
- RxJava(三) flatMap操作符用法详解
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/51532776 本文出自:[余志强的博客] flatMap操作符的作用 ...
- 流API--流的映射
很多时候,将一个流的元素映射到另外一个流很有帮助.映射操作最具代表的就是map()方法.实际编码中,我们会经常用到,所以这里专门整理一篇博客. 考虑如下情景,对于一个包含了姓名,电话,年龄等属性构成的 ...
- RxJava在Android中使用场景详解
RxJava 系列文章 <一,RxJava create操作符的用法和源码分析> <二,RxJava map操作符用法详解> <三,RxJava flatMap操作符用法 ...
- Java8 stream学习
Java8初体验(二)Stream语法详解 Java 8 flatMap示例 第一个Stream Demo IDEA里面写Stream有个坑 虽然java文件中没错,但是但编译的时候还是报错了, In ...
- RxJava2实战---第五章 变换操作符和过滤操作符
RxJava2实战---第五章 变换操作符和过滤操作符 RxJava的变换操作符主要包括以下几种: map():对序列的每一项都用一个函数来变换Observable发射的数据序列. flatMap() ...
- java8学习之Stream分组与分区详解
Stream应用: 继续举例来操练Stream,对于下面这两个集合: 需求是:将这两个集合组合起来,形成对各自人员打招呼的结果,输出的结果如: "Hi zhangsan".&quo ...
- Stream之高级函数
上回文说到了有关Stream一些数学函数的用法.今天来说下Stream一些高级的函数用法,这些函数在日常工作中也是必不可少的,测试数据还是引用上一篇的数据. Map 这个方法我个人称之为转换函数,把一 ...
- Java8新特性之Optional,如何优雅地处理空指针
是什么 从 Java 8 引入的一个很有趣的特性是 Optional 类.Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException)-- 每个 Java ...
- Android RxJava 2 的用法 just 、from、map、subscribe、flatmap、Flowable、Function、Consumer ...【转】
先简单说说RxJava的用途与价值 原文出处:Android RxJava 2 的用法 用途: 异步 (也就是开线程跳转) 价值: 面对复杂的逻辑,它依然 简洁 ,代码 易读 RxJava2 与 Rx ...
随机推荐
- 数据库操作sql
一.把从另外一张表里查到的值插入到前表: 1. 表结构完全一样 insert into 表1 select * from 表2 2. 表结构不一样(这种情况下得指定列名) insert into 表1 ...
- 在线资源--图片/json等
1. 在线图片: http://image.zhangxinxu.com/image/study/s/s256/mm3.jpg // mmX.jpg: X可为任意的数字 2. 在线json: 雅虎天 ...
- 【Bootstrap】bootstrap-fileinput上传文件插件
[bootstrap-fileinput] 这是个据传最好用的bootstrap相关联的文件上传控件,支持拖曳上传,多线程上传,上传文件预览等等功能. 首先还是说一下要引入的一些文件: <lin ...
- 小委出发vijos-1572 jdoj-1572
小委出发 题目大意:一个长度为n的字符串,由()[]{}组成.求最长的和谐字符串:我们对最长和谐字符串的定义就是每一个括号有一个性质相同的括号与之匹配,这两个括号中间要么为空,要么也是和谐的.几个连续 ...
- vue 源码学习----build/config.js
1. process 这个process是什么?为何都没有引入就可以使用了呢? process 对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程.作为一个对象,它对 ...
- Python打包工具setuptools的使用
将我们写的Python程序发布成包后,可以使其能够安装使用. 在项目上测试的时候,某些情况下,可以将Python打包,然后上传到测试服务器,安装测试. setuptools是常用的打包工具. 一个简单 ...
- 结合jenkins在Linux服务器搭建测试环境
何时使用: 测试过程中我们需要持续构建一个软件项目,为避免重复的手动下载.解压操作,我们需要搭建一个能够自动构建的测试环境,当代码有更新时,测试人员只需点一下[构建]即可拉取最新的代码进行测试(也可设 ...
- selenium 爬虫
from selenium import webdriver import time driver = webdriver.PhantomJS(executable_path="D:/pha ...
- C#中委托。
委托(delegate):是一个类型.其实winform中控件的事件也是特殊的委托类型. 如: 自定义委托:自定义委托在winform中的用法. 当要在子线程中更新UI时,必须通过委托来实现. pri ...
- kali使用
1.kali安装后安装vmtools ①.vim /etc/apt/sources.list 添加中科大滚动版更新源 deb http://mirrors.ustc.edu.cn/kali kali- ...