spark:--spark-shell运行简单语句、用Idea编写例子--8

spark集群启动:MASTER=spark://host:port ./spark-shell
**********************************
在终端:hadoop fs -tail /lab/SogouQ.full
***********************************
scala> val data = sc.textFile("hdfs://server1:9000/lab/SogouQ.full")
***********************
scala> data.count//统计数据多少行 在web端查看
*************************
scala> data.cache//速度飙升
***********************
scala> data.count
****************************
scala> data.map(_.split('\t')(0)).filter(_ < "20140202020202").count
***************************
scala> data.map(_.split('\t')(3)).filter(_.toInt == 1).count//计算收索排名第一的
****************************
scala> data.map(_.split('\t')).filter(_(3).toInt == 1).filter(_(4).toInt == 1).count//在这些收索排名第一的文件中有多少是第一次就被收索到的
**************************
scala> data.map(_.split('\t')).filter(_(2).contains("baidu")).count//查看用搜狗浏览器收索百度的
**************************
例:
1.在终端上hadoop fs -ls /lab/NY//显示纽约时报数据文件存放路径
2.hadoop fs -tail /lab/NY/docword.nytimes.txt//文章里单词的出现频率
3.用intellij idea编译算法(要求),打包发到集群
4.在终端:java -jar ./xxxxxx.jar(包含main函数的包) ./XXXXXX.jar(要传输的函数包) hdfs://$$$$$(hadoop:从哪边取数据) hdfs://*****(将数据存放的路径)
************************

初学者现在spark-shell上编写 不必须在intellij上编写

package cn.spark

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

/**
 * Created by sendoh on 2015/2/6.
 */
class Analysis {

}
object Analysis{
  def main(args : Array[String]): Unit = {
    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()
    conf.setMaster("spark://server1:8888")
      .setSparkHome("/data/software/spark-1.2.0-incubating-bin-hadoop1")
      .setAppName("analysis")
      .setJars(jars)
      .set("spark.executor.memory", "25g")

    val sc = new SparkContext(conf)
    val data = sc.textFile(args(1))

    data.cache
    println(data.count)

    data.filter(_.split(' ').length == 3).map(_.split(' ')(1)).map((_ .1) ).reduceByKey(_ + _)
      .map(x => (x._2, x._1)).sortByKey(false).map(x => (x._2, x._1)).saveAsTextFile(args(2))
  }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值