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

来源:互联网 发布:小微电视直播软件 编辑:程序博客网 时间:2024/06/02 16:32
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.sparkimport org.apache.spark.{SparkContext, SparkConf}import scala.collection.mutable.ListBufferimport 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
原创粉丝点击