hadoop权威指南上有一个求历史最高温度的经典案例,源数据如下:

-- sample.txt
0067011990999991950051507004+68750+023550FM-12+038299999V0203301N00671220001CN9999999N9+00001+99999999999
0043011990999991950051512004+68750+023550FM-12+038299999V0203201N00671220001CN9999999N9+00221+99999999999
0043011990999991950051518004+68750+023550FM-12+038299999V0203201N00261220001CN9999999N9-00111+99999999999
0043012650999991949032412004+62300+010750FM-12+048599999V0202701N00461220001CN0500001N9+01111+99999999999
0043012650999991949032418004+62300+010750FM-12+048599999V0202701N00461220001CN0500001N9+00781+99999999999

--通过spark来求天气的最大值比写MapReduce不知道简单了多少倍
var lines=sc.textFile("/root/wangbin/sample.txt")
-- 定义函数,正数不取符号,负数取符号
var data=lines.map(line=>{
if(line.charAt(87)=='+')
{(line.substring(15,19),line.substring(88,92))}
else
{(line.substring(15,19),line.substring(87,92))}
})
-- 把第二列数据转为浮点型
var data2=data.map(res=>(res._1,res._2.toDouble))
-- 取相对key分组的最大value值
var data3=data2.reduceByKey((x,y)=>Math.max(x,y))

最新文章

  1. python sys模块
  2. UITextField里面的 placeholder颜色和字体
  3. LinearLayout和RelativeLayout 区别
  4. 【DFS,双向】NYOJ-20-吝啬的国度
  5. Javascript模块化编程:模块的写法
  6. WCF入门教程系列一
  7. Java引用类型具体解释
  8. C# Memcached缓存
  9. test_CSDN_markdown_format
  10. mysql运维必会的一些知识点整理
  11. 金融量化分析【day110】:NumPy多维数组
  12. JavaScript面向对象编程指南(五) 原型
  13. Python源码文件中带有中文时,输出乱码
  14. 【转载】Caffe + Ubuntu 14.04 + CUDA 6.5 新手安装配置指南
  15. [翻译] KYCircularProgress
  16. [19/04/24-星期三] GOF23_创建型模式(建造者模式、原型模式)
  17. 基于 HTML5 Canvas 的 Web SCADA 组态电机控制面板
  18. 003——VUE操作元素属性
  19. android library使用方法
  20. 磨刀——python及相关工具

热门文章

  1. linux下仅仅有rman备份集的异机不同文件夹恢复
  2. webpack打包不引入vue、echarts等公共库
  3. 画廊视图(Gallery)的功能和用法
  4. 初探js
  5. uinty3d导入错误问题解决
  6. python 快速排序 完整
  7. HDU2665 Kth number 【合并树】
  8. HDU - 4734 F(x) (2013成都网络游戏,数字DP)
  9. C#实现进程内存信息获取
  10. jquery 包裹标签