spark:sortByKey按年龄排序--20

仙道彰 男 1990 计算机
樱木花道 男 1989 软件
流川枫 男 1990 网络
三井寿 男 1991 计算机
彩子 女 1992 网络
晴子 女 1993 计算机

仙草 男 1995 计算机

假设一个数据文件包含上述信息,通过排序sortByKey按年龄从大到小排序:

package main

import org.apache.log4j.{Level, Logger}
import org.apache.spark.{SparkContext, SparkConf}
import org.apache.spark.SparkContext._
import scala.collection.mutable.ListBuffer

/**
 * Created by liufeng on 2015/3/31.
 */
object paixu2 {
  def main(args: Array[String]): Unit ={
    //屏蔽日志
    Logger.getLogger("org.apache.spark").setLevel(Level.WARN)
    Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)
    //3
    if (args.length != 3){
      println("Usage: java -jar code.jar dependency_jars file_location save_location")
      System.exit(0)
    }
    val jars = ListBuffer[String]()
    args(0).split(',').map(jars += _)
    val conf = new SparkConf().setAppName("paixu2").setMaster("local[2]").setSparkHome("/usr/local/spark-1.2.0-bin-hadoop2.4").setJars(jars)
    val sc = new SparkContext(conf)
    //
    val data = sc.textFile("hdfs://localhost:9000/datatnt/text2.txt")
    data.cache()
    val pdata = data.map(_.split("\t")).filter(_.length == 4)//压缩,判断每行是否4条数据
   //下面这条语句一直报错
    val odata = pdata.map(x => (x._3, x._1)).sortByKey(false).map(x => (x._3, x._1)).saveAsTextFile("hdfs://localhost:9000/outputtnt/")//true升序false降序
    //x => (x._3, x._1) 每行数据的第一个key值和第三个key值交换位置,因为sortByKey对第一个进行排序,排序后再交换回去
   }

}

为什么标记的地方一直报错···哪错了?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值