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内核的人了。


0 0
原创粉丝点击