您的位置:首页 > 运维架构 > Shell

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

2015-02-06 15:20 302 查看
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))
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: