【spark】小试牛刀sparksql和rdd

数据资料参考百度网盘:链接:https://pan.baidu.com/s/1nUj0NkKyHg0JoefJ_oz3ig?pwd=de8t
提取码:de8t

学习内容:

  1. 在spark shell中完成3个pdf文件中相应RDD基本操作
  2. Patient3.csv中包含病历数据,字段分别为:pid, 身高,体重,腰围,舒张压,收缩压。请RDD操作分别统计以下值:
    1)病人数量、平均身高、体重最大值、收缩压方差
    2)按体重升序、舒张压降序排序并输出
  3. 温度.txt数据中包含一段时间的温度测量数据,数据说明如下:
    a)第15-19个字符是年份
    b)第45-50位是温度表示,+表示零上 -表示零下,且温度的值不能是9999,9999表示异常数据
    c)第50位值只能是0、1、4、5、9几个数字
    要求:采用Spark SQL实现获取每年的最低温度。

val df = spark.read.option("header", "true").format("csv").load("data/patients3.csv")
df.describe("height","weight","systbp").show()
df.orderBy(df("weight"),-df("diasbp")).show()

在这里插入图片描述

val temp_filter = temp.filter(s => (s!="")&&(s.substring(46,50)!="9999")&&(List(0,1,4,5,9).contains(s.substring(50,51).toInt))).map( line => {
  (line.substring(15,19).toInt,line.substring(45,50).toInt)
} ).groupByKey().map(values=>(values._1,values._2.min)).collect()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m 宽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值