##公司合作项目--基于质差指标筛选结果的 spark-sql 查询系统Demo

这里写图片描述

一.系统简介

1.数据简介:

本Demo系统所用数据是某省某运营商 IPTV 用户数据,基于此数据,经过一系列的数据清洗与数学建模,最终得到了三个质差用户指标,本Demo系统是基于初步筛选的七个指标的数据进行的。

2.系统功能:

在上述的有七个指标的数据中,通过质差指标对新的用户数据进行筛选,筛选出来的即为质差用户-质差设备,方便相关部门对质差设备进行处理,从而能提高QOS。

二.处理流程

1.数据处理:

由于我们使用的是spark-sql版本较老,所以我们存储在 hdfs 上的数据是文本 txt 形式,数据间以逗号隔开,如果数据是excel,则可以通过excel转成 txt 文本,具体流程可以百度。本文使用的spark集群给的工作模式是 spark on yarn。搭建过程可参考:http://blog.csdn.net/zhaolei5911/article/details/53168390

2.spark-sql 使用流程:

val sqlContext = new org.apache.spark.sql.SQLContext(sc)

import sqlContext._

case class Person(id : Double,df: Double,jitter: Double,mlr : Double,loss_packet_rate : Double,abend_num : Double,avg_bit_rate : Double,play_time : Double)

val people = sc.textFile("hdfs://hadoop-master:8020/data/zte/24.txt").map(_.split(",")).map(p => Person(p(0).trim.toDouble, p(1).trim.toDouble,p(2).trim.toDouble,p(3).trim.toDouble,p(4).trim.toDouble,p(5).trim.toDouble,p(6).trim.toDouble,p(7).trim.toDouble))

people.registerAsTable("people")

val q_low_qos = sql("SELECT id FROM people WHERE df >= 13 AND mlr <= 20 AND abend_num >20")   (由于相关要求,具体筛选出的三个指标保密)

q_low_qos.map(t => "Name: " + t(0)).collect().foreach(println)   (输出质差用户的id)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值