D30 Scala自定义排序和stage分区

A:自定义排序方法一
   
   
  1. import OrderContext._
  2. val rdd2 = rdd1.sortBy(x => Girl(x._2, x._3), false) //自定义排序的规则
  3. println(rdd2.collect().toBuffer)
  4. sc.stop()
  5. case class Girl(val faceValue: Int, val age: Int) extends Ordered[Girl] with Serializable { //因为要走网络
  6. override def compare(that: Girl): Int = {
  7. if(this.faceValue == that.faceValue) {
  8. that.age - this.age
  9. } else {
  10. this.faceValue -that.faceValue
  11. }
  12. }
  13. }
自定义排序方法二:通过隐式转换

B:查询IP归属地:某个运营商提供特定的IP地址段。 IpDemo.scala   /  批量查询是 IPLocation.scala
例如:阿里巴巴运营商提供的IP地址段 120.55.0.0|120.55.255.255|2016870400|2016935935|亚洲|中国|浙江|杭州||阿里巴巴|330100|China|CN|120.153576|30.287459
   
   
  1. val ip = "120.55.185.61"
  2. val ipNum = ip2Long(ip)//转成10进制
  3. println(ipNum)
  4. val lines = readData("c:/ip.txt") //所查询的数据库
  5. val index = binarySearch(lines, ipNum)
  6. print(lines(index))
①二分法查询:必须要求数据已经保存

C: 查询IP归属地。 操作数据库,将数据写入关系型数据     IPLocation2.scala


D:wordcount的执行流程

wordcount提交到集群的操作
   
   
  1. val conf = new SparkConf().setAppName("WC") .setJars(Array("C:\\HelloSpark\\target\\hello-spark-1.0.jar")).setMaster("spark://server:7077")
  2.  
  3. val sc = new SparkContext(conf)
 


 
 















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值