一、概述
Spark RDD Shuffle类似mapreduce中的shuffle。bucket相当于分区。
什么是spark shuffle?
shfulle是spark对数据进行重分区的机制。
哪些操作会引起shuffle?
具有重新调整分区的操作,eg:repartition,coalesce
*ByKey,eg:groupByKey,reduceByKey
关联操作:eg:join,cogroup
二、案例讲解
1、读取hdfs文件,设置分区
在hdfs上有文件 /user/root/mapreduce/wordcount/input/wc.input,内容如下:
hadoop hive
hive hadoop
hbase sqoop
hbase sqoop
hadoop hive
用spark读取文件 wc.input ,创建rdd,设置分区为3
val rdd = sc.textFile("hdfs://hadoop-senior.ibeifeng.com:8020/user/root/mapreduce/wordcount/input/wc.input", 3)
2、保存分区到hdfs
把rdd保存到hdfs的以