搭建spark环境(伪分布式,在虚拟机上用一台机器来编写一个spark程序):Spark解压就能用。
首先spark环境,首先要按照jdk,但可以不用按照scala环境。
下载的spark最好是和hadoop版本匹配的spark版本,比如:spark-1.6.2-bin-hadoop2.6.tgz;
需要自己使用maven来编译(后面会讲)。
使用bin目录下的spark-shell,这是spark的一个客户端。可以启动一个spark的单机版。
它启动之后会创建一个SparkContext对象或实例。启动后会进入scala的命令行。
spark中的方法(或算子)是延迟加载的。他的算子有两钟,其中有一种就是延迟加载的,一旦触发Action的时候,它才会加载数据;
比如:sc.textFile("/root/words.txt")//延迟加载
它默认使用hdfs的接口来读的。
但是这个textFile方法会把key丢掉,只保留value,因为那个key没有用。
sc.textFile("/root/words.txt").collect//收集结果
sc.textFile("/root/words.txt").flatMap(_.split)
这个flatMap是spark的rdd上的一个方法,和原来scala原生的flatMap方法的实现是不一样的,但是功能都是一样的。
sc.textFile("/root/words.txt").flatMap(_.split(" ")).map(_,
首先spark环境,首先要按照jdk,但可以不用按照scala环境。
下载的spark最好是和hadoop版本匹配的spark版本,比如:spark-1.6.2-bin-hadoop2.6.tgz;
需要自己使用maven来编译(后面会讲)。
使用bin目录下的spark-shell,这是spark的一个客户端。可以启动一个spark的单机版。
它启动之后会创建一个SparkContext对象或实例。启动后会进入scala的命令行。
spark中的方法(或算子)是延迟加载的。他的算子有两钟,其中有一种就是延迟加载的,一旦触发Action的时候,它才会加载数据;
比如:sc.textFile("/root/words.txt")//延迟加载
它默认使用hdfs的接口来读的。
但是这个textFile方法会把key丢掉,只保留value,因为那个key没有用。
sc.textFile("/root/words.txt").collect//收集结果
sc.textFile("/root/words.txt").flatMap(_.split)
这个flatMap是spark的rdd上的一个方法,和原来scala原生的flatMap方法的实现是不一样的,但是功能都是一样的。
sc.textFile("/root/words.txt").flatMap(_.split(" ")).map(_,