Spark Scala Demo

SparkContext创建

val conf = new SparkConf().setAppName("AppName")
val sc = new SparkContext(conf)

读取Hdfs文件

sc.textFile(path)

textFile的参数是一个path,这个path可以是:
1. 一个文件路径,这时候只装载指定的文件
2. 一个目录路径,这时候只装载指定目录下面的所有文件(不包括子目录下面的文件)
3. 通过通配符的形式加载多个文件或者加载多个目录下面的所有文件
4.在path前面加上file:// 表示从本地文件系统读,在path前面加上hdfs://表示从hdfs文件系统上读,默认是从hdfs读取文件

保存文件

saveAsTextFile(path)

def saveAsTextFile(path: String): Unit
def saveAsTextFile(path: String, codec: Class[_ <: CompressionCodec]): Unit
saveAsTextFile用于将RDD以文本文件的格式存储到文件系统中。
codec参数可以指定压缩的类名。

saveAsTextFile("hdfs:///tmp/test/",classOf[com.hadoop.compression.lzo.LzopCodec])  
在path前面加上file:// 表示从本地文件系统读, 在path前面加上hdfs://表示从hdfs文件系统上读, 默认是从hdfs读取文件

Spark算子分类及功能

Value型Transformation算子

输入分区与输出分区一对一型

map

flatMap

mapPartitions

glom 


输入分区与输出分区多对一型

union

cartesian

输入分区与输出分区多对多型

groupBy

输出分区为输入分区子集型

filter

distinct

subtract

sample

takeSample

Cache

cache

persist

Key-ValueTransformation算子

输入分区与输出分区一对一

mapValues

对单个RDD或两个RDD聚集

单个RDD聚集

combineByKey
reduceByKey
partitionBy

对两个RDD进行聚集

cogroup

连接

join
leftOutJoinrightOutJoin

Actions算子

无输出

foreach

HDFS

saveAsTextFile

saveAsObjectFile

Scala集合和数据类型

collect

collectAsMap

reduceByKeyLocally

lookup

count

top

reduce

fold

aggregate











你可能感兴趣的:(Spark Scala Demo)