(一)初识Spark

1、Spark中的Python和Scala的Shell

(1): Python的Spark Shell
也就是我们常说的PySpark Shell进入我们的Spark目录中然后输入
bin/pyspark

(2): Scala中的Shell
bin/spark-shell

利用spark进行行数的统计
例如:Scala版本的

   val=sc.textFile("/home/txp/test.txt")   #创建一个名为lines 的RDD
   lines.count()   #统计RDD中的元素个数
   lines.first()   #RDD中的第一个元素 也就是test.txt中的第一行

如图
这里写图片描述

2、Spark的核心概念简介

这里写图片描述

从上层来看每一个Spark应用都有一个驱动器程序(driver)来发起集群上的各种并行的操作。驱动器程序通过一个SparkContext对象来访问Spark,shell 启动的时候已经自动创建了一个SparkContext对象,是一个叫sc的变量。一旦有了SparkContext对象,就可以用它来创建RDD(分布式弹性数据集)。驱动器程序一般要管理多个执行器节点

3、独立应用

一旦完成应用与Spark的连接,接下来就要在你的程序中导入Spark包并且创建SparkContext
例如:在scala语言中初始化Spark 进行单词计数

val conf=new SparkConf().setMaster("local").setAppName("My App")
val sc=new SparkContext(conf)
//读取我们的输入数据
val input=sc.text(inputfile)
//切分成一个个单词  俗称压扁
val words=input.flatMap(line=>line.split(" "))
//转换为键值对  并进行计数
val counts=words.map(word=>(word,1)).reduceByKey(_+_))
//将统计出来的单词总数存入到一个文本文件  引发求值
counts.saveAsTextFile(outputfile)

猜你喜欢

转载自blog.csdn.net/dapeng1995/article/details/81394568