spark 的reduce操作
来源:互联网 发布:乡村学生教育数据 编辑:程序博客网 时间:2024/06/16 06:48
spark的reduce聚合操作,输入是两个值,输出是一个值,第一第二个值的结果跟第三个值相加,然后前n个数的值和第n个值相加
见代码如下:
public static void myReduce(){
SparkConf conf=new SparkConf()
.setMaster("local")
.setAppName("myReduce");
JavaSparkContext sc=new JavaSparkContext(conf);
List<Integer> numberList=Arrays.asList(1,2,3,4,5,6,7,8);
JavaRDD<Integer> numbers=sc.parallelize(numberList, 2);
Integer sum=numbers.reduce(new Function2<Integer,Integer,Integer>(){
private static final long serialVersionUID = 1L;
@Override
public Integer call(Integer arg0, Integer arg1) throws Exception {
// TODO Auto-generated method stub
return arg0+arg1;
}
});
System.out.println("sum:"+sum);
sc.close();
}
输出结构如下:
sum:36
其实重要的是日志输出情况:
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
16/05/03 21:04:29 INFO SparkContext: Running Spark version 1.6.1
16/05/03 21:04:59 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
16/05/03 21:04:59 INFO SecurityManager: Changing view acls to: admin
16/05/03 21:04:59 INFO SecurityManager: Changing modify acls to: admin
16/05/03 21:04:59 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(admin); users with modify permissions: Set(admin)
16/05/03 21:05:02 INFO Utils: Successfully started service 'sparkDriver' on port 50899.
16/05/03 21:05:04 INFO Slf4jLogger: Slf4jLogger started
16/05/03 21:05:04 INFO Remoting: Starting remoting
16/05/03 21:05:05 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://sparkDriverActorSystem@192.168.213.1:50917]
16/05/03 21:05:05 INFO Utils: Successfully started service 'sparkDriverActorSystem' on port 50917.
16/05/03 21:05:05 INFO SparkEnv: Registering MapOutputTracker
16/05/03 21:05:05 INFO SparkEnv: Registering BlockManagerMaster
16/05/03 21:05:05 INFO DiskBlockManager: Created local directory at C:\Users\admin\AppData\Local\Temp\blockmgr-0044de57-f99f-445a-a158-cc442fd5cba5
16/05/03 21:05:05 INFO MemoryStore: MemoryStore started with capacity 2.4 GB
16/05/03 21:05:05 INFO SparkEnv: Registering OutputCommitCoordinator
16/05/03 21:05:06 INFO Utils: Successfully started service 'SparkUI' on port 4040.
16/05/03 21:05:06 INFO SparkUI: Started SparkUI at http://192.168.213.1:4040
16/05/03 21:05:06 INFO Executor: Starting executor ID driver on host localhost
16/05/03 21:05:06 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 50926.
16/05/03 21:05:06 INFO NettyBlockTransferService: Server created on 50926
16/05/03 21:05:06 INFO BlockManagerMaster: Trying to register BlockManager
16/05/03 21:05:06 INFO BlockManagerMasterEndpoint: Registering block manager localhost:50926 with 2.4 GB RAM, BlockManagerId(driver, localhost, 50926)
16/05/03 21:05:06 INFO BlockManagerMaster: Registered BlockManager
16/05/03 21:05:08 INFO SparkContext: Starting job: countByKey at ActionOperation.java:230
16/05/03 21:05:09 INFO DAGScheduler: Registering RDD 1 (countByKey at ActionOperation.java:230)
16/05/03 21:05:09 INFO DAGScheduler: Got job 0 (countByKey at ActionOperation.java:230) with 1 output partitions
16/05/03 21:05:09 INFO DAGScheduler: Final stage: ResultStage 1 (countByKey at ActionOperation.java:230)
16/05/03 21:05:09 INFO DAGScheduler: Parents of final stage: List(ShuffleMapStage 0)
16/05/03 21:05:09 INFO DAGScheduler: Missing parents: List(ShuffleMapStage 0)
16/05/03 21:05:09 INFO DAGScheduler: Submitting ShuffleMapStage 0 (MapPartitionsRDD[1] at countByKey at ActionOperation.java:230), which has no missing parents
16/05/03 21:05:09 INFO MemoryStore: Block broadcast_0 stored as values in memory (estimated size 2.7 KB, free 2.7 KB)
16/05/03 21:05:09 INFO MemoryStore: Block broadcast_0_piece0 stored as bytes in memory (estimated size 1604.0 B, free 4.2 KB)
16/05/03 21:05:09 INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on localhost:50926 (size: 1604.0 B, free: 2.4 GB)
16/05/03 21:05:09 INFO SparkContext: Created broadcast 0 from broadcast at DAGScheduler.scala:1006
16/05/03 21:05:09 INFO DAGScheduler: Submitting 1 missing tasks from ShuffleMapStage 0 (MapPartitionsRDD[1] at countByKey at ActionOperation.java:230)
16/05/03 21:05:09 INFO TaskSchedulerImpl: Adding task set 0.0 with 1 tasks
16/05/03 21:05:09 INFO TaskSetManager: Starting task 0.0 in stage 0.0 (TID 0, localhost, partition 0,PROCESS_LOCAL, 2206 bytes)
16/05/03 21:05:09 INFO Executor: Running task 0.0 in stage 0.0 (TID 0)
16/05/03 21:05:10 INFO Executor: Finished task 0.0 in stage 0.0 (TID 0). 1158 bytes result sent to driver
16/05/03 21:05:10 INFO TaskSetManager: Finished task 0.0 in stage 0.0 (TID 0) in 402 ms on localhost (1/1)
16/05/03 21:05:10 INFO TaskSchedulerImpl: Removed TaskSet 0.0, whose tasks have all completed, from pool
16/05/03 21:05:10 INFO DAGScheduler: ShuffleMapStage 0 (countByKey at ActionOperation.java:230) finished in 0.460 s
16/05/03 21:05:10 INFO DAGScheduler: looking for newly runnable stages
16/05/03 21:05:10 INFO DAGScheduler: running: Set()
16/05/03 21:05:10 INFO DAGScheduler: waiting: Set(ResultStage 1)
16/05/03 21:05:10 INFO DAGScheduler: failed: Set()
16/05/03 21:05:10 INFO DAGScheduler: Submitting ResultStage 1 (ShuffledRDD[2] at countByKey at ActionOperation.java:230), which has no missing parents
16/05/03 21:05:10 INFO MemoryStore: Block broadcast_1 stored as values in memory (estimated size 2.9 KB, free 7.2 KB)
16/05/03 21:05:10 INFO MemoryStore: Block broadcast_1_piece0 stored as bytes in memory (estimated size 1740.0 B, free 8.9 KB)
16/05/03 21:05:10 INFO BlockManagerInfo: Added broadcast_1_piece0 in memory on localhost:50926 (size: 1740.0 B, free: 2.4 GB)
16/05/03 21:05:10 INFO SparkContext: Created broadcast 1 from broadcast at DAGScheduler.scala:1006
16/05/03 21:05:10 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 1 (ShuffledRDD[2] at countByKey at ActionOperation.java:230)
16/05/03 21:05:10 INFO TaskSchedulerImpl: Adding task set 1.0 with 1 tasks
16/05/03 21:05:10 INFO TaskSetManager: Starting task 0.0 in stage 1.0 (TID 1, localhost, partition 0,NODE_LOCAL, 1894 bytes)
16/05/03 21:05:10 INFO Executor: Running task 0.0 in stage 1.0 (TID 1)
16/05/03 21:05:10 INFO ShuffleBlockFetcherIterator: Getting 1 non-empty blocks out of 1 blocks
16/05/03 21:05:10 INFO ShuffleBlockFetcherIterator: Started 0 remote fetches in 18 ms
16/05/03 21:05:10 INFO Executor: Finished task 0.0 in stage 1.0 (TID 1). 1342 bytes result sent to driver
16/05/03 21:05:10 INFO DAGScheduler: ResultStage 1 (countByKey at ActionOperation.java:230) finished in 0.170 s
16/05/03 21:05:10 INFO TaskSetManager: Finished task 0.0 in stage 1.0 (TID 1) in 169 ms on localhost (1/1)
16/05/03 21:05:10 INFO TaskSchedulerImpl: Removed TaskSet 1.0, whose tasks have all completed, from pool
16/05/03 21:05:10 INFO DAGScheduler: Job 0 finished: countByKey at ActionOperation.java:230, took 1.601784 s
class1: 2
class2: 3
16/05/03 21:05:10 INFO SparkUI: Stopped Spark web UI at http://192.168.213.1:4040
16/05/03 21:05:10 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
16/05/03 21:05:10 INFO MemoryStore: MemoryStore cleared
16/05/03 21:05:10 INFO BlockManager: BlockManager stopped
16/05/03 21:05:10 INFO BlockManagerMaster: BlockManagerMaster stopped
16/05/03 21:05:10 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
16/05/03 21:05:10 INFO SparkContext: Successfully stopped SparkContext
16/05/03 21:05:10 INFO SparkContext: Running Spark version 1.6.1
16/05/03 21:05:10 INFO RemoteActorRefProvider$RemotingTerminator: Shutting down remote daemon.
16/05/03 21:05:10 INFO RemoteActorRefProvider$RemotingTerminator: Remote daemon shut down; proceeding with flushing remote transports.
16/05/03 21:05:10 INFO SecurityManager: Changing view acls to: admin
16/05/03 21:05:10 INFO SecurityManager: Changing modify acls to: admin
16/05/03 21:05:10 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(admin); users with modify permissions: Set(admin)
16/05/03 21:05:11 INFO Utils: Successfully started service 'sparkDriver' on port 50944.
16/05/03 21:05:11 INFO RemoteActorRefProvider$RemotingTerminator: Remoting shut down.
16/05/03 21:05:11 INFO Slf4jLogger: Slf4jLogger started
16/05/03 21:05:11 INFO Remoting: Starting remoting
16/05/03 21:05:11 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://sparkDriverActorSystem@localhost:50957]
16/05/03 21:05:11 INFO Utils: Successfully started service 'sparkDriverActorSystem' on port 50957.
16/05/03 21:05:11 INFO SparkEnv: Registering MapOutputTracker
16/05/03 21:05:11 INFO SparkEnv: Registering BlockManagerMaster
16/05/03 21:05:11 INFO DiskBlockManager: Created local directory at C:\Users\admin\AppData\Local\Temp\blockmgr-7c14fd9c-d13a-4945-8f63-7279497b4706
16/05/03 21:05:11 INFO MemoryStore: MemoryStore started with capacity 2.4 GB
16/05/03 21:05:11 INFO SparkEnv: Registering OutputCommitCoordinator
16/05/03 21:05:11 INFO Utils: Successfully started service 'SparkUI' on port 4040.
16/05/03 21:05:11 INFO SparkUI: Started SparkUI at http://localhost:4040
16/05/03 21:05:11 INFO Executor: Starting executor ID driver on host localhost
16/05/03 21:05:11 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 50964.
16/05/03 21:05:11 INFO NettyBlockTransferService: Server created on 50964
16/05/03 21:05:11 INFO BlockManagerMaster: Trying to register BlockManager
16/05/03 21:05:11 INFO BlockManagerMasterEndpoint: Registering block manager localhost:50964 with 2.4 GB RAM, BlockManagerId(driver, localhost, 50964)
16/05/03 21:05:11 INFO BlockManagerMaster: Registered BlockManager
16/05/03 21:05:11 INFO SparkContext: Starting job: reduce at ActionOperation.java:43
16/05/03 21:05:11 INFO DAGScheduler: Got job 0 (reduce at ActionOperation.java:43) with 2 output partitions
16/05/03 21:05:11 INFO DAGScheduler: Final stage: ResultStage 0 (reduce at ActionOperation.java:43)
16/05/03 21:05:11 INFO DAGScheduler: Parents of final stage: List()
16/05/03 21:05:11 INFO DAGScheduler: Missing parents: List()
16/05/03 21:05:11 INFO DAGScheduler: Submitting ResultStage 0 (ParallelCollectionRDD[0] at parallelize at ActionOperation.java:42), which has no missing parents
16/05/03 21:05:11 INFO MemoryStore: Block broadcast_0 stored as values in memory (estimated size 1560.0 B, free 1560.0 B)
16/05/03 21:05:11 INFO MemoryStore: Block broadcast_0_piece0 stored as bytes in memory (estimated size 1052.0 B, free 2.6 KB)
16/05/03 21:05:11 INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on localhost:50964 (size: 1052.0 B, free: 2.4 GB)
16/05/03 21:05:11 INFO SparkContext: Created broadcast 0 from broadcast at DAGScheduler.scala:1006
16/05/03 21:05:11 INFO DAGScheduler: Submitting 2 missing tasks from ResultStage 0 (ParallelCollectionRDD[0] at parallelize at ActionOperation.java:42)
16/05/03 21:05:11 INFO TaskSchedulerImpl: Adding task set 0.0 with 2 tasks
16/05/03 21:05:11 INFO TaskSetManager: Starting task 0.0 in stage 0.0 (TID 0, localhost, partition 0,PROCESS_LOCAL, 2160 bytes)
16/05/03 21:05:11 INFO Executor: Running task 0.0 in stage 0.0 (TID 0)
16/05/03 21:05:11 INFO Executor: Finished task 0.0 in stage 0.0 (TID 0). 1031 bytes result sent to driver
16/05/03 21:05:11 INFO TaskSetManager: Starting task 1.0 in stage 0.0 (TID 1, localhost, partition 1,PROCESS_LOCAL, 2160 bytes)
16/05/03 21:05:11 INFO Executor: Running task 1.0 in stage 0.0 (TID 1)
16/05/03 21:05:11 INFO TaskSetManager: Finished task 0.0 in stage 0.0 (TID 0) in 34 ms on localhost (1/2)
16/05/03 21:05:11 INFO Executor: Finished task 1.0 in stage 0.0 (TID 1). 1031 bytes result sent to driver
16/05/03 21:05:11 INFO TaskSetManager: Finished task 1.0 in stage 0.0 (TID 1) in 20 ms on localhost (2/2)
16/05/03 21:05:11 INFO DAGScheduler: ResultStage 0 (reduce at ActionOperation.java:43) finished in 0.050 s
16/05/03 21:05:11 INFO TaskSchedulerImpl: Removed TaskSet 0.0, whose tasks have all completed, from pool
16/05/03 21:05:11 INFO DAGScheduler: Job 0 finished: reduce at ActionOperation.java:43, took 0.083386 s
sum:36
16/05/03 21:05:11 INFO SparkUI: Stopped Spark web UI at http://localhost:4040
16/05/03 21:05:11 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
16/05/03 21:05:11 INFO MemoryStore: MemoryStore cleared
16/05/03 21:05:11 INFO BlockManager: BlockManager stopped
16/05/03 21:05:11 INFO BlockManagerMaster: BlockManagerMaster stopped
16/05/03 21:05:11 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
16/05/03 21:05:11 INFO RemoteActorRefProvider$RemotingTerminator: Shutting down remote daemon.
16/05/03 21:05:11 INFO RemoteActorRefProvider$RemotingTerminator: Remote daemon shut down; proceeding with flushing remote transports.
16/05/03 21:05:11 INFO SparkContext: Successfully stopped SparkContext
16/05/03 21:05:11 INFO RemoteActorRefProvider$RemotingTerminator: Remoting shut down.
16/05/03 21:05:11 INFO ShutdownHookManager: Shutdown hook called
16/05/03 21:05:11 INFO ShutdownHookManager: Deleting directory C:\Users\admin\AppData\Local\Temp\spark-abd1dc2c-64b3-41fe-b6fb-187d113c03d7
看得懂上面日志的都是熟悉精通spark内核的人了。
- spark 的reduce操作
- Spark Shuffle系列-----3. spark shuffle reduce操作RDD partition的生成
- Spark RDD Actions操作之reduce()
- SPARK里的reduce(),fold(),以及aggregate()
- Spark算子:RDDAction操作–first/count/reduce/collect/collectAsMap
- 3.4 Spark RDD Action操作3-聚合-aggregate、fold、reduce
- spark RDD算子(九)之基本的Action操作 first, take, collect, count, countByValue, reduce, aggregate, fold,top
- map-reduce Java API操作及map reduce的配置
- spark 2.1 reduce
- spark--actions算子--reduce
- Map-Reduce和Spark
- Spark reduce算子
- spark 入门map reduce 最好的几个例子
- Map/Reduce操作RCFile的RecordReader
- 不一样的map和reduce操作:
- Java操作MongoDB Map Reduce的使用
- Spark的一些操作
- Spark算子:RDD行动Action操作(1)–first、count、reduce、collect
- android笔记
- 第2课:通过案例对SparkStreaming 透彻理解三板斧之二
- 推荐MAC必装小软件
- 第9周项目1 深复制体验(1)
- Java的类加载机制
- spark 的reduce操作
- 第三周项目4--三色球问题
- UVA 11404 Palindromic Subsequence LCS
- opencv学习笔记3-初探特征识别
- 面试之路(21)-链表的倒序实现
- BCD码
- ButterKnife 8.0.1
- AsyncTask+HttpUrlConnection网络请求解析XML且定位
- cuda 7.5