第一个spark程序

我用的是Intellij编写的scala程序

首先配置build.sbt文件

name := "mytest"

version := "1.0"

scalaVersion := "2.11.0"

libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.2.0"
        
然后编写主程序
/**
  * Created by lxs on 17-7-21.
  */
import  org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
object sparkApp {
  def main(args: Array[String]): Unit = {

    val sc=new SparkContext("local[2]","First Spark App")
    val data=sc.textFile("/home/lxs/Documents/UserPurchaseHistory.csv")
          .map(line => line.split(","))
          .map(purchaseRecord => (purchaseRecord(0),purchaseRecord(1),purchaseRecord(2)))
    //求购买次数
    val numPurchases=data.count()
    //求多少个不同客户买过商品
    val uniqueUses=data.map{case(user,product,price) =>user}.distinct().count()
    //求和得出总收入
    val totalRevenue=data.map{case(user,product,price) => price.toDouble}.sum()
    //求得最畅销商品
    val productsByPopularity=data.map{case(user,product,price) =>(product,1)}.reduceByKey(_+_).collect().sortBy(-_._2)
    val mostPopular=productsByPopularity(0)

    println("Total purchases:"+ numPurchases)
    println("unique users:"+uniqueUses)
    println("Total revene:"+totalRevenue)
    println("Most popular product:%s with %d purchases".format(mostPopular._1,mostPopular._2))

  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值