Spark-Shell编程
Spark-Shell编程
进入Spark-shell模式
bin/spark-shell --master local[6] #本地运行
WordCount案例
-
读取文件
val rdd1=sc.textFile("file:///export/wordcount.txt") #读取本地文件 val rdd1=sc.textFile("hdfs://node01:8020/wordcount.txt") #读取hdfs文件
-
分割展平
val rdd2=rdd1.flatMap(item=>item.split(" "))
-
赋予词频
val rdd3=rdd2.map(item=>(item,1))
-
reduce聚合
val rdd4=rdd3.reduceByKey((curr,agg)=>curr+agg)
-
数据展示
rdd4.collect()
Spark独立应用
IDEA添加Scala SDK
代码编写
object WordCount {
def main(args: Array[String]): Unit = {
//创建SparkContext
//本地运行
// val conf=new SparkConf().setMaster("local[6]").setAppName("WordCount")
//提交运行
val conf=new SparkConf().setAppName("WordCount")
val sc=new SparkContext(conf)
//加载文件
val file=sc.textFile("hdfs://192.168.2.135:8020/wordcount.txt")
//处理
val flatFile=file.flatMap(item=>item.split(" "))
val flatFileMap=flatFile.map(item=>(item,1))
val aggCount=flatFileMap.reduceByKey((curr,agg)=>curr+agg)
//得到结果
aggCount.foreach(item=>println(item))
}
}
Jar包集群运行
#语法格式
bin/spark-submit --class 全类名 --master spark://node01:7077 jar包位置