Spark spark-shell操作

RDD(Resilient Distributed Datasets),弹性分布式数据集,是分布式内存的一个抽象概念,RDD提供了一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,只能通过在其他RDD执行确定的转换操作(如map、join和group by)而创建,然而这些限制使得实现容错的开销很低. 

创建RDD的两种方法:

1.并行化集合

val data= sc.parallelize(Array(1,2,3))
2.外部数据集

val textFile = sc.textFile("file:///opt/word.txt")

map(对所有的元素进行操作)函数:

Spark spark-shell操作_第1张图片

filter(过滤元素)函数:

Spark spark-shell操作_第2张图片

count(计算元素个数)函数:

Spark spark-shell操作_第3张图片

distinct(去重):

Spark spark-shell操作_第4张图片

union(并集):

Spark spark-shell操作_第5张图片

intersection(交集):

Spark spark-shell操作_第6张图片

cartesian(笛卡尔积):

Spark spark-shell操作_第7张图片

 sortByKey(排序)函数:

Spark spark-shell操作_第8张图片

groupByKey(分组)函数:

Spark spark-shell操作_第9张图片

 reduceByKey数据聚合函数:

Spark spark-shell操作_第10张图片

 cogroup

 Spark spark-shell操作_第11张图片

 first(第一个元素):

Spark spark-shell操作_第12张图片

take(返回前几个元素):

Spark spark-shell操作_第13张图片

在/opt目录下新建文件word.txt,并输入一些内容。

启动spark-shell

val textFile = sc.textFile("file:///opt/word.txt")

textFile.first()

val wordCount = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b)

wordCount.collect()

Spark spark-shell操作_第14张图片

 val rr=sc.textFile("file:///opt/word.txt").flatMap(x=>x.split(" ")).countByValue()

上面是读取本地文件,还可以读取hdfs上面的文件 

 

Spark spark-shell操作_第15张图片

你可能感兴趣的:(spark)