spark sql dataframe操作

package com.xmgps.yfzx.sparkhadoop

import com.xmgps.yfzx.sparkhadoop.TraceData.Trace
import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}

object SparkHadoopFileDF {

    def main(args: Array[String]): Unit = {
      val path = "hdfs://mycluster/LINYUN/TAXIDATA/2016/11/09/TAXI20161109"

      val conf = new SparkConf().setAppName("spark sql dataframe").setMaster("local[1]")
      val sc = SparkContext.getOrCreate(conf)

      val sqlContext = new SQLContext(sc)

      import sqlContext.implicits._

      val traceRdd = sc.textFile(path)

      val traceDF = traceRdd.map(f => f + "end").map(_.split(",")).map(p => Trace(p(0),p(1),
        p(2).toLong,p(3).toLong,p(4),p(5),p(6).toLong,p(7).toLong,p(8).toInt,p(9).toDouble,p(10),p(11),p(12),p(13),
        p(14),p(15),p(16),p(17),p(18),p(19))).toDF()

      val result = traceDF.select("carNo","carColor").distinct().count()
      println(result)
    }
}
package com.xmgps.yfzx.sparkhadoop

/**
  * Created by JiKai Lin on 11/9/2016.
  */
object TraceData {

  case class Trace(
                    carNo: String, carColor: String, gpsTime: Long, sysTime: Long, vehicleStatus: String, alarmStatus: String,
                    longitude: Long, latidude: Long, height: Int, speed: Double, direction: String, totalKMS: String, attacheds: String,
                    enterPriseId: String, isResend: String, lineId: String, preStationOrder: String, preStationDist: String,
                    vec2: String, gnssCenterId: String
                  )
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值