Spark开发环境搭建

Intellij搭建spark开发环境 spark怎么学习呢?在一无所知的前提下,首先去官网快速了解一下spark是干什么的,官网在此。然后,安装开发环境,从wordcount开始学习。第三,上手以后可以学习其他算法了。最后,不要放弃,继续深入学习。那么,首先解决的就是如何搭建开发环境的问题。1、确保你的电脑安装了JDK,以及配置了JAVA_HOME环境变量。2、安装Intellij IDEA,下载地址。目前15.0版本对Scala的支持 阅读详情

开发环境

Spark 2.4.4使用Scala2.12:
在这里插入图片描述

Java安装

bash-3.2$ java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

scala安装

在这里插入图片描述

解压
tar -zxvf scala-2.12.10.tgz
配置
vi .bash_profile
export SCALA_HOME=/Users/linhongzheng/software/scala-2.12.10
export PATH=$PATH:$SCALA_HOME/bin
生效
source .bash_profile
验证
bash-3.2$ scala
Welcome to Scala 2.12.10 (Java HotSpot(TM) 64-Bit Server VM, Java 11.0.2).
Type in expressions for evaluation. Or try :help.

scala> 1+2
res0: Int = 3

Spark安装

解压
tar -zxvf spark-2.4.4-bin-hadoop2.7.tgz
配置
vi .bash_profile
export SPARK_HOME=/Users/linhongzheng/software/spark-2.4.4-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
生效
source .bash_profile
验证

运行官网的例子

bash-3.2$ $SPARK_HOME/bin/run-example SparkPi 10
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/Users/linhongzheng/software/spark-2.4.4-bin-hadoop2.7/jars/spark-unsafe_2.11-2.4.4.jar) to method java.nio.Bits.unaligned()
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
19/11/11 09:53:24 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
19/11/11 09:53:25 INFO SparkContext: Running Spark version 2.4.4
19/11/11 09:53:25 INFO SparkContext: Submitted application: Spark Pi
19/11/11 09:53:25 INFO SecurityManager: Changing view acls to: linhongzheng
19/11/11 09:53:25 INFO SecurityManager: Changing modify acls to: linhongzheng
19/11/11 09:53:25 INFO SecurityManager: Changing view acls groups to:
19/11/11 09:53:25 INFO SecurityManager: Changing modify acls groups to:
19/11/11 09:53:25 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users  with view permissions: Set(linhongzheng); groups with view permissions: Set(); users  with modify permissions: Set(linhongzheng); groups with modify permissions: Set()
19/11/11 09:53:25 INFO Utils: Successfully started service 'sparkDriver' on port 58107.
19/11/11 09:53:25 INFO SparkEnv: Registering MapOutputTracker
19/11/11 09:53:25 INFO SparkEnv: Registering BlockManagerMaster
19/11/11 09:53:25 INFO BlockManagerMasterEndpoint: Using org.apache.spark.storage.DefaultTopologyMapper for getting topology information
19/11/11 09:53:25 INFO BlockManagerMasterEndpoint: BlockManagerMasterEndpoint up
19/11/11 09:53:25 INFO DiskBlockManager: Created local directory at /private/var/folders/rq/kl4ybn097tzbfbwr91cwv_640000gn/T/blockmgr-f239aac2-9b34-490c-a65e-ec96ef9b1087
19/11/11 09:53:25 INFO MemoryStore: MemoryStore started with capacity 434.4 MB
19/11/11 09:53:25 INFO SparkEnv: Registering OutputCommitCoordinator
19/11/11 09:53:25 INFO Utils: Successfully started service 'SparkUI' on port 4040.
19/11/11 09:53:25 INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://172.16.0.12:4040
19/11/11 09:53:25 INFO SparkContext: Added JAR file:///Users/linhongzheng/software/spark-2.4.4-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.4.jar at spark://172.16.0.12:58107/jars/spark-examples_2.11-2.4.4.jar with timestamp 1573437205747
19/11/11 09:53:25 INFO SparkContext: Added JAR file:///Users/linhongzheng/software/spark-2.4.4-bin-hadoop2.7/examples/jars/scopt_2.11-3.7.0.jar at spark://172.16.0.12:58107/jars/scopt_2.11-3.7.0.jar with timestamp 1573437205747
19/11/11 09:53:25 INFO Executor: Starting executor ID driver on host localhost
19/11/11 09:53:25 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 58110.
19/11/11 09:53:25 INFO NettyBlockTransferService: Server created on 172.16.0.12:58110
19/11/11 09:53:25 INFO BlockManager: Using org.apache.spark.storage.RandomBlockReplicationPolicy for block replication policy
19/11/11 09:53:25 INFO BlockManagerMaster: Registering BlockManager BlockManagerId(driver, 172.16.0.12, 58110, None)
19/11/11 09:53:25 INFO BlockManagerMasterEndpoint: Registering block manager 172.16.0.12:58110 with 434.4 MB RAM, BlockManagerId(driver, 172.16.0.12, 58110, None)
19/11/11 09:53:25 INFO BlockManagerMaster: Registered BlockManager BlockManagerId(driver, 172.16.0.12, 58110, None)
19/11/11 09:53:25 INFO BlockManager: Initialized BlockManager: BlockManagerId(driver, 172.16.0.12, 58110, None)
19/11/11 09:53:26 INFO SparkContext: Starting job: reduce at SparkPi.scala:38
19/11/11 09:53:26 INFO DAGScheduler: Got job 0 (reduce at SparkPi.scala:38) with 10 output partitions
19/11/11 09:53:26 INFO DAGScheduler: Final stage: ResultStage 0 (reduce at SparkPi.scala:38)
19/11/11 09:53:26 INFO DAGScheduler: Parents of final stage: List()
19/11/11 09:53:26 INFO DAGScheduler: Missing parents: List()
19/11/11 09:53:26 INFO DAGScheduler: Submitting ResultStage 0 (MapPartitionsRDD[1] at map at SparkPi.scala:34), which has no missing parents
19/11/11 09:53:26 INFO MemoryStore: Block broadcast_0 stored as values in memory (estimated size 1936.0 B, free 434.4 MB)
19/11/11 09:53:26 INFO MemoryStore: Block broadcast_0_piece0 stored as bytes in memory (estimated size 1256.0 B, free 434.4 MB)
19/11/11 09:53:26 INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on 172.16.0.12:58110 (size: 1256.0 B, free: 434.4 MB)
19/11/11 09:53:26 INFO SparkContext: Created broadcast 0 from broadcast at DAGScheduler.scala:1161
19/11/11 09:53:26 INFO DAGScheduler: Submitting 10 missing tasks from ResultStage 0 (MapPartitionsRDD[1] at map at SparkPi.scala:34) (first 15 tasks are for partitions Vector(0, 1, 2, 3, 4, 5, 6, 7, 8, 9))
19/11/11 09:53:26 INFO TaskSchedulerImpl: Adding task set 0.0 with 10 tasks
19/11/11 09:53:26 INFO TaskSetManager: Starting task 0.0 in stage 0.0 (TID 0, localhost, executor driver, partition 0, PROCESS_LOCAL, 7866 bytes)
19/11/11 09:53:26 INFO TaskSetManager: Starting task 1.0 in stage 0.0 (TID 1, localhost, executor driver, partition 1, PROCESS_LOCAL, 7866 bytes)
19/11/11 09:53:26 INFO TaskSetManager: Starting task 2.0 in stage 0.0 (TID 2, localhost, executor driver, partition 2, PROCESS_LOCAL, 7866 bytes)
19/11/11 09:53:26 INFO TaskSetManager: Starting task 3.0 in stage 0.0 (TID 3, localhost, executor driver, partition 3, PROCESS_LOCAL, 7866 bytes)
19/11/11 09:53:26 INFO TaskSetManager: Starting task 4.0 in stage 0.0 (TID 4, localhost, executor driver, partition 4, PROCESS_LOCAL, 7866 bytes)
19/11/11 09:53:26 INFO TaskSetManager: Starting task 5.0 in stage 0.0 (TID 5, localhost, executor driver, partition 5, PROCESS_LOCAL, 7866 bytes)
19/11/11 09:53:26 INFO TaskSetManager: Starting task 6.0 in stage 0.0 (TID 6, localhost, executor driver, partition 6, PROCESS_LOCAL, 7866 bytes)
19/11/11 09:53:26 INFO TaskSetManager: Starting task 7.0 in stage 0.0 (TID 7, localhost, executor driver, partition 7, PROCESS_LOCAL, 7866 bytes)
19/11/11 09:53:26 INFO TaskSetManager: Starting task 8.0 in stage 0.0 (TID 8, localhost, executor driver, partition 8, PROCESS_LOCAL, 7866 bytes)
19/11/11 09:53:26 INFO TaskSetManager: Starting task 9.0 in stage 0.0 (TID 9, localhost, executor driver, partition 9, PROCESS_LOCAL, 7866 bytes)
19/11/11 09:53:26 INFO Executor: Running task 8.0 in stage 0.0 (TID 8)
19/11/11 09:53:26 INFO Executor: Running task 7.0 in stage 0.0 (TID 7)
19/11/11 09:53:26 INFO Executor: Running task 9.0 in stage 0.0 (TID 9)
19/11/11 09:53:26 INFO Executor: Running task 3.0 in stage 0.0 (TID 3)
19/11/11 09:53:26 INFO Executor: Running task 4.0 in stage 0.0 (TID 4)
19/11/11 09:53:26 INFO Executor: Running task 5.0 in stage 0.0 (TID 5)
19/11/11 09:53:26 INFO Executor: Running task 2.0 in stage 0.0 (TID 2)
19/11/11 09:53:26 INFO Executor: Running task 6.0 in stage 0.0 (TID 6)
19/11/11 09:53:26 INFO Executor: Running task 1.0 in stage 0.0 (TID 1)
19/11/11 09:53:26 INFO Executor: Running task 0.0 in stage 0.0 (TID 0)
19/11/11 09:53:26 INFO Executor: Fetching spark://172.16.0.12:58107/jars/scopt_2.11-3.7.0.jar with timestamp 1573437205747
19/11/11 09:53:26 INFO TransportClientFactory: Successfully created connection to /172.16.0.12:58107 after 35 ms (0 ms spent in bootstraps)
19/11/11 09:53:26 INFO Utils: Fetching spark://172.16.0.12:58107/jars/scopt_2.11-3.7.0.jar to /private/var/folders/rq/kl4ybn097tzbfbwr91cwv_640000gn/T/spark-ecf82630-e21a-4a28-804e-a5ee8b0d232b/userFiles-39099898-0a52-4477-9152-85c2bd301a82/fetchFileTemp11045881112579144176.tmp
19/11/11 09:53:26 INFO Executor: Adding file:/private/var/folders/rq/kl4ybn097tzbfbwr91cwv_640000gn/T/spark-ecf82630-e21a-4a28-804e-a5ee8b0d232b/userFiles-39099898-0a52-4477-9152-85c2bd301a82/scopt_2.11-3.7.0.jar to class loader
19/11/11 09:53:26 INFO Executor: Fetching spark://172.16.0.12:58107/jars/spark-examples_2.11-2.4.4.jar with timestamp 1573437205747
19/11/11 09:53:26 INFO Utils: Fetching spark://172.16.0.12:58107/jars/spark-examples_2.11-2.4.4.jar to /private/var/folders/rq/kl4ybn097tzbfbwr91cwv_640000gn/T/spark-ecf82630-e21a-4a28-804e-a5ee8b0d232b/userFiles-39099898-0a52-4477-9152-85c2bd301a82/fetchFileTemp15926653109345999028.tmp
19/11/11 09:53:26 INFO Executor: Adding file:/private/var/folders/rq/kl4ybn097tzbfbwr91cwv_640000gn/T/spark-ecf82630-e21a-4a28-804e-a5ee8b0d232b/userFiles-39099898-0a52-4477-9152-85c2bd301a82/spark-examples_2.11-2.4.4.jar to class loader
19/11/11 09:53:27 INFO Executor: Finished task 8.0 in stage 0.0 (TID 8). 867 bytes result sent to driver
19/11/11 09:53:27 INFO Executor: Finished task 4.0 in stage 0.0 (TID 4). 867 bytes result sent to driver
19/11/11 09:53:27 INFO Executor: Finished task 9.0 in stage 0.0 (TID 9). 867 bytes result sent to driver
19/11/11 09:53:27 INFO Executor: Finished task 1.0 in stage 0.0 (TID 1). 867 bytes result sent to driver
19/11/11 09:53:27 INFO Executor: Finished task 7.0 in stage 0.0 (TID 7). 867 bytes result sent to driver
19/11/11 09:53:27 INFO Executor: Finished task 6.0 in stage 0.0 (TID 6). 867 bytes result sent to driver
19/11/11 09:53:27 INFO TaskSetManager: Finished task 4.0 in stage 0.0 (TID 4) in 711 ms on localhost (executor driver) (1/10)
19/11/11 09:53:27 INFO Executor: Finished task 3.0 in stage 0.0 (TID 3). 910 bytes result sent to driver
19/11/11 09:53:27 INFO Executor: Finished task 5.0 in stage 0.0 (TID 5). 867 bytes result sent to driver
19/11/11 09:53:27 INFO TaskSetManager: Finished task 1.0 in stage 0.0 (TID 1) in 717 ms on localhost (executor driver) (2/10)
19/11/11 09:53:27 INFO Executor: Finished task 2.0 in stage 0.0 (TID 2). 867 bytes result sent to driver
19/11/11 09:53:27 INFO TaskSetManager: Finished task 8.0 in stage 0.0 (TID 8) in 714 ms on localhost (executor driver) (3/10)
19/11/11 09:53:27 INFO TaskSetManager: Finished task 9.0 in stage 0.0 (TID 9) in 713 ms on localhost (executor driver) (4/10)
19/11/11 09:53:27 INFO Executor: Finished task 0.0 in stage 0.0 (TID 0). 867 bytes result sent to driver
19/11/11 09:53:27 INFO TaskSetManager: Finished task 7.0 in stage 0.0 (TID 7) in 714 ms on localhost (executor driver) (5/10)
19/11/11 09:53:27 INFO TaskSetManager: Finished task 6.0 in stage 0.0 (TID 6) in 716 ms on localhost (executor driver) (6/10)
19/11/11 09:53:27 INFO TaskSetManager: Finished task 3.0 in stage 0.0 (TID 3) in 717 ms on localhost (executor driver) (7/10)
19/11/11 09:53:27 INFO TaskSetManager: Finished task 5.0 in stage 0.0 (TID 5) in 717 ms on localhost (executor driver) (8/10)
19/11/11 09:53:27 INFO TaskSetManager: Finished task 2.0 in stage 0.0 (TID 2) in 718 ms on localhost (executor driver) (9/10)
19/11/11 09:53:27 INFO TaskSetManager: Finished task 0.0 in stage 0.0 (TID 0) in 738 ms on localhost (executor driver) (10/10)
19/11/11 09:53:27 INFO TaskSchedulerImpl: Removed TaskSet 0.0, whose tasks have all completed, from pool
19/11/11 09:53:27 INFO DAGScheduler: ResultStage 0 (reduce at SparkPi.scala:38) finished in 0.954 s
19/11/11 09:53:27 INFO DAGScheduler: Job 0 finished: reduce at SparkPi.scala:38, took 1.027161 s
Pi is roughly 3.137619137619138
19/11/11 09:53:27 INFO SparkUI: Stopped Spark web UI at http://172.16.0.12:4040
19/11/11 09:53:27 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
19/11/11 09:53:27 INFO MemoryStore: MemoryStore cleared
19/11/11 09:53:27 INFO BlockManager: BlockManager stopped
19/11/11 09:53:27 INFO BlockManagerMaster: BlockManagerMaster stopped
19/11/11 09:53:27 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
19/11/11 09:53:27 INFO SparkContext: Successfully stopped SparkContext
19/11/11 09:53:27 INFO ShutdownHookManager: Shutdown hook called
19/11/11 09:53:27 INFO ShutdownHookManager: Deleting directory /private/var/folders/rq/kl4ybn097tzbfbwr91cwv_640000gn/T/spark-ecf82630-e21a-4a28-804e-a5ee8b0d232b
19/11/11 09:53:27 INFO ShutdownHookManager: Deleting directory /private/var/folders/rq/kl4ybn097tzbfbwr91cwv_640000gn/T/spark-245daa7b-9844-4d5c-958a-ee63cd378f63

IDEA配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-waIQdQxo-1573544071109)(http://note.youdao.com/yws/res/64535/476716287D9E41CDAC2BA80689583A1B)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YETNx4YW-1573544071109)(http://note.youdao.com/yws/res/64539/B349E106D1764159AA6EB2AB296F2E2E)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XHl5Ec2w-1573544071110)(http://note.youdao.com/yws/res/64543/929F00AEDA8F4879B9CDB6F15FAB118E)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EtoDGXPz-1573544071110)(http://note.youdao.com/yws/res/64521/94A041595C354959A475E0F566BA84A3)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TLhKSmeu-1573544071111)(http://note.youdao.com/yws/res/64525/A77C6963BA0D4C91AD8123F7F40DA3DC)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZQd7jTKN-1573544071111)(http://note.youdao.com/yws/res/64523/DE63EEF0088A4D91990E0FBB4796E502)]

quick-start

基础

bash-3.2$ $SPARK_HOME/bin/spark-shell
19/11/11 10:57:53 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://172.16.0.12:4040
Spark context available as 'sc' (master = local[*], app id = local-1573441079226).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.4.4
      /_/

Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_211)
Type in expressions to have them evaluated.
Type :help for more information.

scala> val textFile = spark.read.textFile("/Users/linhongzheng/software/spark-2.4.4-bin-hadoop2.7/README.md")
textFile: org.apache.spark.sql.Dataset[String] = [value: string]

scala> textFile.count()
res0: Long = 105

scala> textFile.first()
res1: String = # Apache Spark

scala> val linesWithSpark = textFile.filter(line => line.contains("Spark"))
linesWithSpark: org.apache.spark.sql.Dataset[String] = [value: string]

scala> textFile.filter(line =>line.contains("Spark")).count()
res2: Long = 20
更多操作

scala> textFile.map(line => line.split(" ").size).reduce((a, b) => if (a > b) a else b)
res3: Int = 22

scala> import java.lang.Math
import java.lang.Math

scala> textFile.map(line => line.split(" ").size).reduce((a, b) => Math.max(a, b))
res4: Int = 22

scala> val wordCounts = textFile.flatMap(line => line.split(" ")).groupByKey(identity).count()
wordCounts: org.apache.spark.sql.Dataset[(String, Long)] = [value: string, count(1): bigint]

scala> wordCounts.collect()
res5: Array[(String, Long)] = Array((online,1), (graphs,1), (["Parallel,1), (["Building,1), (thread,1), (documentation,3), (command,,2), (abbreviated,1), (overview,1), (rich,1), (set,2), (-DskipTests,1), (name,1), (page](http://spark.apache.org/documentation.html).,1), (["Specifying,1), (stream,1), (run:,1), (not,1), (programs,2), (tests,2), (./dev/run-tests,1), (will,1), ([run,1), (particular,2), (option,1), (Alternatively,,1), (by,1), (must,1), (using,5), (you,4), (MLlib,1), (DataFrames,,1), (variable,1), (Note,1), (core,1), (more,1), (protocols,1), (guidance,2), (shell:,2), (can,7), (site,,1), (systems.,1), (Maven,1), ([building,1), (configure,1), (for,12), (README,1), (Interactive,2), (how,3), ([Configuration,1), (Hive,2), (system,1), (provides,1), (Hadoop-supported,1), (pre-built,1...
caching
scala> val textFile = spark.read.textFile("/Users/linhongzheng/software/spark-2.4.4-bin-hadoop2.7/README.md")
textFile: org.apache.spark.sql.Dataset[String] = [value: string]

scala> val linesWithSpark = textFile.filter(line => line.contains("Spark"))
linesWithSpark: org.apache.spark.sql.Dataset[String] = [value: string]

scala> linesWithSpark.cache()
res0: linesWithSpark.type = [value: string]
 

scala> linesWithSpark.count()
res2: Long = 20

scala> linesWithSpark.count()
res3: Long = 20

第二次速度比第一次速度更快。

WorldCount例子

maven加入依赖:

   <!-- Spark dependency -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.12</artifactId>
            <version>2.4.4</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.12</artifactId>
            <version>2.4.4</version>
        </dependency>


        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.12.10</version>
        </dependency>

程序:

package com.xxx.spark.demo.day01

import org.apache.spark.{SparkConf, SparkContext}


/**
  * 功能:
  *
  * @author linhongz
  * @date 2019-11-11 14:42
  *
  */
object WordCount extends App {

  val conf = new SparkConf().setAppName("word count").setMaster("local")
  val sc = new SparkContext(conf)
  sc.setLogLevel("ERROR")

  val rdd = sc.textFile("/Users/linhongzheng/software/spark-2.4.4-bin-hadoop2.7/README.md") //设置操作的文本
    .flatMap(_.split(' ')) //空格分割
    .filter(x => (!"".equals(x))) //过滤掉空格
    .map((_, 1)) //(world,1),(Hello,1),(Hello,1),
    .reduceByKey(_ + _) //(world,1),(Hello,2)
    .sortBy(x => (x._2), false) //(Hello,2),(world,1)排序
    .foreach(print(_)) //输出

  sc.stop()
}


打包运行

将工程代码打包成jar包发送到远端或者本地的spark集群上运行。打包有以下步骤:

  1. 点击“File“然后选择“project Structure“

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-usPyOtaW-1573544071111)(http://note.youdao.com/yws/res/64552/E6F9F760E0DE45449C122EF7986B0EF6)]

  1. 如图所示进行如下操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sz9Mspew-1573544071112)(http://note.youdao.com/yws/res/64572/2C7B0B0AD8894D8FA0357F185FCAA3EA)]

  1. 在弹出的对话框中点击按钮,选择主类进行如下操作。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9PKpi1e2-1573544071112)(http://note.youdao.com/yws/res/64563/D58BE6AE09954B3A86BDAC0160794F90)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dlFLzi54-1573544071112)(http://note.youdao.com/yws/res/64565/5ABF084D4EE64C40870223E8441055B7)]

由于我们的jar包实在spark上运行的,所可以删除其他不需要的依赖包,如下图所示,删除其他不需要的包,只留下红色矩形中的两个。

注意:output directory 的路径。此处是你导出 jar 的路径。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3anD4OHX-1573544071112)(http://note.youdao.com/yws/res/64570/A4CE897744CF43BEAD75993CC9014585)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qq5lDAgb-1573544071113)(http://note.youdao.com/yws/res/64574/C977861C1ABB4B668BB24A399B2D8DEB)]

  1. 执行 bulid 构建jar
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sBJtNehu-1573544071113)(http://note.youdao.com/yws/res/64576/24CF363A132140758479BC36203AE95C)]

  2. 运行job

./bin/spark-submit  --class com.xxx.spark.demo.day01.WordCount --master local /Users/linhongzheng/workstation/spark/sparkDemo/out/artifacts/sparkDemo_jar/sparkDemo.jar

报下面的异常:

9/11/11 17:21:09 INFO BlockManager: Initialized BlockManager: BlockManagerId(driver, 172.16.0.12, 53994, None)
Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: scala/runtime/java8/JFunction2$mcIII$sp
	at com.xxx.spark.demo.day01.WordCount$.main(WordCount.scala:26)
	at com.xxx.spark.demo.day01.WordCount.main(WordCount.scala)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
	at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:845)
	at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:161)
	at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:184)
	at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86)
	at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:920)
	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:929)
	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.NoClassDefFoundError: scala/runtime/java8/JFunction2$mcIII$sp
	... 14 more
Caused by: java.lang.ClassNotFoundException: scala.runtime.java8.JFunction2$mcIII$sp
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 14 more

spark安装目录下的jars中依赖scala是2.11版本的:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-APX5wsFN-1573544071113)(http://note.youdao.com/yws/res/64588/11FF92742AC34C03BFD02AE0D2B88B47)]

但官网写着是2.12版本,有点坑:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AP33T78g-1573544071113)(http://note.youdao.com/yws/res/64591/76803D996A0846DEB880036D85DD895F)]

在下载Spark页面提示只有2.4.2是基于Scala2.12编译

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mcrOwdG3-1573544071114)(https://note.youdao.com/src/9C4A2D8605294E7C8188550A67014EF5)]

所以需要重新下载2.4.2安装包,地址:https://archive.apache.org/dist/spark/spark-2.4.2/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ek6sNvUL-1573544071114)(https://note.youdao.com/src/1926C2ABB5474B5E9275745D2384CF96)]

19/11/11 17:41:34 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
19/11/11 17:41:35 INFO SparkContext: Running Spark version 2.4.2
19/11/11 17:41:35 INFO SparkContext: Submitted application: word count
19/11/11 17:41:35 INFO SecurityManager: Changing view acls to: linhongzheng
19/11/11 17:41:35 INFO SecurityManager: Changing modify acls to: linhongzheng
19/11/11 17:41:35 INFO SecurityManager: Changing view acls groups to:
19/11/11 17:41:35 INFO SecurityManager: Changing modify acls groups to:
19/11/11 17:41:35 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users  with view permissions: Set(linhongzheng); groups with view permissions: Set(); users  with modify permissions: Set(linhongzheng); groups with modify permissions: Set()
19/11/11 17:41:35 INFO Utils: Successfully started service 'sparkDriver' on port 54482.
19/11/11 17:41:35 INFO SparkEnv: Registering MapOutputTracker
19/11/11 17:41:35 INFO SparkEnv: Registering BlockManagerMaster
19/11/11 17:41:35 INFO BlockManagerMasterEndpoint: Using org.apache.spark.storage.DefaultTopologyMapper for getting topology information
19/11/11 17:41:35 INFO BlockManagerMasterEndpoint: BlockManagerMasterEndpoint up
19/11/11 17:41:35 INFO DiskBlockManager: Created local directory at /private/var/folders/rq/kl4ybn097tzbfbwr91cwv_640000gn/T/blockmgr-0aaa0d8b-9ce8-416c-81c5-fcb8ae50e3cb
19/11/11 17:41:35 INFO MemoryStore: MemoryStore started with capacity 366.3 MB
19/11/11 17:41:35 INFO SparkEnv: Registering OutputCommitCoordinator
19/11/11 17:41:35 INFO Utils: Successfully started service 'SparkUI' on port 4040.
19/11/11 17:41:35 INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://172.16.0.12:4040
19/11/11 17:41:35 INFO SparkContext: Added JAR file:/Users/linhongzheng/workstation/spark/sparkDemo/out/artifacts/sparkDemo_jar/sparkDemo.jar at spark://172.16.0.12:54482/jars/sparkDemo.jar with timestamp 1573465295557
19/11/11 17:41:35 INFO Executor: Starting executor ID driver on host localhost
19/11/11 17:41:35 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 54483.
19/11/11 17:41:35 INFO NettyBlockTransferService: Server created on 172.16.0.12:54483
19/11/11 17:41:35 INFO BlockManager: Using org.apache.spark.storage.RandomBlockReplicationPolicy for block replication policy
19/11/11 17:41:35 INFO BlockManagerMaster: Registering BlockManager BlockManagerId(driver, 172.16.0.12, 54483, None)
19/11/11 17:41:35 INFO BlockManagerMasterEndpoint: Registering block manager 172.16.0.12:54483 with 366.3 MB RAM, BlockManagerId(driver, 172.16.0.12, 54483, None)
19/11/11 17:41:35 INFO BlockManagerMaster: Registered BlockManager BlockManagerId(driver, 172.16.0.12, 54483, None)
19/11/11 17:41:35 INFO BlockManager: Initialized BlockManager: BlockManagerId(driver, 172.16.0.12, 54483, None)
(the,24)(to,17)(Spark,16)(for,12)(and,10)(##,9)(a,9)(is,7)(run,7)(on,7)(can,7)(in,6)(using,5)(of,5)(also,5)(if,4)(build,4)(including,4)(Please,4)(see,4)(an,4)(You,4)(with,4)(you,4)(For,3)(use,3)(or,3)(Hadoop,3)(general,3)(documentation,3)(example,3)(how,3)(one,3)(This,2)(Hive,2)(To,2)(SparkPi,2)(refer,2)(Interactive,2)(be,2)(./bin/run-example,2)(1000:,2)(tests,2)(examples,2)(at,2)(Shell,2)(class,2)(`examples`,2)(set,2)(Hadoop,,2)(cluster,2)(supports,2)(particular,2)(Python,2)(locally,2)(following,2)(which,2)(should,2)(do,2)(It,2)(Scala,2)(detailed,2)(return,2)(Python,,2)(building,2)(guidance,2)(SQL,2)(that,2)(programs,2)(shell:,2)(command,,2)(package,1)(Programs,1)(processing.,1)(Because,1)(The,1)(page](http://spark.apache.org/documentation.html).,1)(cluster.,1)(its,1)([run,1)(than,1)(APIs,1)(have,1)(Try,1)(computation,1)(through,1)(several,1)(graph,1)(storage,1)(["Specifying,1)("yarn",1)(Once,1)(["Useful,1)(prefer,1)(engine,1)(version,1)(file,1)(documentation,,1)(processing,,1)(are,1)(systems.,1)(params,1)(not,1)(different,1)(R,,1)(given.,1)(when,1)(Tests,1)(Apache,1)(thread,1)(programs,,1)(Spark.,1)(package.,1)(1000).count(),1)(Versions,1)(HDFS,1)(Data.,1)(>>>,1)(Maven,1)(programming,1)(Testing,1)(module,,1)(Streaming,1)(environment,1)(run:,1)(test,,1)(clean,1)(rich,1)(Developer,1)(Version,1)(GraphX,1)(guide](http://spark.apache.org/contributing.html),1)(URL,,1)(threads.,1)(same,1)(MASTER=spark://host:7077,1)(built,1)(against,1)([Apache,1)(optimized,1)(3"](https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3).,1)(usage,1)(development,1)(Maven,,1)(graphs,1)(talk,1)(Enabling,1)(abbreviated,1)(directory.,1)(README,1)(computing,1)(overview,1)(example:,1)(N,1)(Hadoop-supported,1)(running,1)(find,1)(contains,1)(project,1)(Pi,1)(need,1)(Big,1)(high-level,1)(Java,,1)(uses,1)(<class>,1)(available,1)(requires,1)((You,1)(more,1)(Documentation,1)(tools,1)(using:,1)(must,1)(built,,1)(tests](http://spark.apache.org/developer-tools.html#individual-tests).,1)(system,1)(build/mvn,1)(this,1)(integration,1)(There,1)(YARN,,1)(pre-built,1)([Configuration,1)(library,1)(A,1)(locally.,1)(sc.parallelize(1,1)(only,1)(Configuration,1)(basic,1)(#,1)(changed,1)(More,1)(learning,,1)(first,1)(./bin/pyspark,1)(info,1)([params]`.,1)([project,1)(mesos://,1)(Maven](http://maven.apache.org/).,1)(setup,1)(<http://spark.apache.org/>,1)(latest,1)(your,1)(MASTER,1)(["Parallel,1)(scala>,1)(DataFrames,,1)(provides,1)(configure,1)(distributions.,1)(About,1)(instructions.,1)(easiest,1)(no,1)(project.,1)(`./bin/run-example,1)(started,1)(Note,1)(by,1)(individual,1)(spark://,1)(tips,,1)(Alternatively,,1)(variable,1)(submit,1)(-T,1)(machine,1)(thread,,1)(them,,1)(stream,1)(And,1)(distribution,1)(review,1)(Thriftserver,1)(developing,1)(./bin/spark-shell,1)("local",1)(start,1)(Spark](#building-spark).,1)(help,1)(print,1)(Spark"](http://spark.apache.org/docs/latest/building-spark.html).,1)(Kubernetes,1)(Contributing,1)(-DskipTests,1)(data,1)(versions,1)(online,1)(downloaded,1)(Guide](http://spark.apache.org/docs/latest/configuration.html),1)(builds,1)(comes,1)(Tools"](http://spark.apache.org/developer-tools.html).,1)([building,1)(Many,1)(Running,1)(from,1)(way,1)(Online,1)(site,,1)(other,1)(Example,1)([Contribution,1)(analysis.,1)(sc.parallelize(range(1000)).count(),1)(runs.,1)(Building,1)(higher-level,1)(protocols,1)(guide,,1)(name,1)(fast,1)(will,1)(IDE,,1)(get,1)(core,1)(information,1)(instance:,1)(YARN"](http://spark.apache.org/docs/latest/building-spark.html#specifying-the-hadoop-version-and-enabling-yarn),1)(web,1)(resource-managers/kubernetes/integration-tests/README.md,1)("local[N]",1)(option,1)(MLlib,1)(["Building,1)(contributing,1)(Scala,,1)(package.),1)(./dev/run-tests,1)(sample,1)bash-3.2$
PyCharm搭建Spark开发环境 1.1 安装好JDK 下载并安装好jdk1.7,配置完环境变量。 1.2 Spark环境变量配置 去http://spark.apache.org/downloads.html网站下载相应hadoop对应的版本,我下载的是spark-1.6.0-bin-hadoop2.6.tgz,spark版本是1.6,对应的hadoop版本是2.6 解压下载的文件,假设解压 目录为:D:\Spark-1.6.... 阅读详情

相关推荐

农经权二轮延包—地块示意图生成

本文介绍了地块示意图制作软件的使用方法及模板制作要点。软件通过设置六个参数(示意图模板、属性数据、地块DBF、导航图、地块图片及存放位置)自动生成Word文档,并可导出PDF。文章详细说明了5页Word模板的制作过程,包括页脚三栏设置和页码插入技巧,支持每户最多28个地块的情况。同时指出该软件生成的图片分辨率(300dpi)满足清晰度要求,并提及软件免费提供插件但收费提供后续服务。

weixin_47364423的博客 1115

Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties

Using Spark’s default log4j profile: org/apache/spark/log4j-defaults.properties 20/04/13 16:17:18 INFO SparkContext: Running Spark version 2.1.1 20/04/13 16:17:18 WARN NativeCodeLoader: Unable to load...

WangaWen1229的博客 1万+

物联网技术-第2章-物联网技术架构

• 物联网具有很强的异构性• 为实现异构设备之间的互联、互通与互操作,物联网需要以一个开放的分层的可扩展的为框架。

m0_73804764的博客 2977

修改spark中显示日志等级

当我们运行spark-shell或者是开发spark项目时,运行结果总是会伴随很多的日志,影响我们对结果的查看 Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 22/02/23 11:24:49 INFO SparkContext: Running Spark version 2.4.5 22/02/23 11:24:50 INFO SparkContext: Submitted applicat

OWBY_Phantomhive的博客 6830

拉普拉斯矩阵

1、预备知识 拉普拉斯矩阵定义为:L=D-W。其中,D为度矩阵,W为权重矩阵。 (1)D是对角矩阵,对角线上的元素时节点的度,即所有与该节点相关联的边的权重之和;对角线以外的元素为0。有向图的对角矩阵分为 出度矩阵 和 入度矩阵。 图1.1 无向图中的度矩阵 (2)W在无向图中是对称矩阵,在有向图中是非对称矩阵。 ...

zzhe 1万+

AUTOSAR从入门到精通-汽车电子电气架构(EEA)(二)

需求的传递并非完全是瀑布式的单向传递,而是双向的,只有被下游接受了的需求才是有效的需求,而且,下游是可以反向对上游提出需求的。当街区的设计完成之后,接下来要做的就是每栋建筑的详细设计,建筑的设计者发布的图纸中规定了房屋的主要结构、所在位置与周边环境的相互关系,以及屋中各种组件的位置与相互之间结合的关系,比如砖混结构、房屋的具体位置和朝向、卧室与客厅的相对位置与尺寸、马桶在卫生间中的位置等,还会对各种建筑材料的选取原则给出具体的标准,比如水泥的标号,钢筋的型号,各种电线的等级要求等等。

getusushu的博客 372

spark日志报错:Using Spark’s default log4j profile

idea运行spark报错:Using Spark’s default log4j profile: org/apache/spark/log4j-defaults.properties 错误信息: Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 22/05/24 09:41:52 INFO SparkContext: Running Spark version 3.0.0 22/05/24

一起学习 8025

YOLOv9分割改进 ,YOLOv9分割改进主干网络为华为EfficientNet,助力涨点

EfficientNet论文中研究了卷积网络的缩放和,并证明对深度,宽度和分辨率复合缩放的重要性,因此精度和效率更好。为了阐述相关的原理,我们提出了简单有效的复合缩放方法,使得模型缩放具有一定设计准则,同时兼顾了模型的效率。我下文将 YOLOv9 分割模型改进主干网络为 EfficientNet 融合网络结构。论文地址代码地址下文都是手把手教程,跟着操作即可添加成功把环境配置好,数据集处理好,训练基本能成功,创作不易,请帮忙点一个爱心,关注我,带你不挂科!

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 938

Using Spark‘s default log4j profile: org/apache/spark/log4j2-defaults.properties

【代码】Using Spark‘s default log4j profile: org/apache/spark/log4j2-defaults.properties。

zikyou的博客 842

VS Code 重大更新:Agent Skills完美支持!

代码不会骗人,但你的 LLM 可能会编个故事——除非你给它一本《技能手册》。——某位深夜调试成功的 Go 工程师。

weixin_44058951的博客 3459

YOLOv8自定义训练:车牌识别全流程(从标注到推理,附可视化代码)

车牌检测全流程实践指南 摘要:本文详细介绍了基于YOLOv8的车牌检测完整实现方案。针对车牌检测中的三大难点(小目标、多角度、光照变化),提供了从数据准备到模型部署的全流程解决方案。重点包括:1)数据采集与标注规范;2)针对小目标的YOLOv8模型优化配置;3)K-means锚框聚类方法;4)训练参数调优策略。通过实际验证,该方法可获得95%以上的检测准确率,并附有完整的代码实现和可视化工具,便于开发者快速复现应用。 (字数:149字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 850

搭建Spark开发环境

搭建本地Spark开发环境0、明确安装的版本1、安装软件2、在IDEA中创建工程3、链接Hive操作4、链接Kafka操作 0、明确安装的版本 在搭建之前,需要明确安装的版本是什么,我的版本如下: Java 1.8.0_201 Scala 2.11.12 Spark spark-2.4.5-bin-hadoop2.7 查看Spark依赖的Scala版本,可通过 spark-shell查看,如下图: 当版本不一致时,会出现如下异常, 1、Exception in thread “mai

春蝉的个人博客 363

【SpringBoot 3.x 第43节】你还敢说 Spring 启动慢是“宿命”?Spring AOT 把启动剧本都提前写死了,你服不服?

🏆本文收录于《滚雪球学SpringBoot 3》,专门攻坚指数提升,本年度国内最系统+最专业+最详细(永久更新)。

**My Coding Family** 540

windows10搭建spark本地开发环境

注意:Spark3.0、Spark3.1是由Scala2.12预编译,但是Spark 3.2+是采用Scala 2.13预编译。

besmarterbestronger的博客 7706

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

利用intellij idea 搭建spark开发环境(windows)

利用intellij idea 搭建spark开发环境(windows) 本文配置所有环境 Win10 企业版2016长期服务版 Jdk1.8.0.131 Hadoop2.7.3 Spark2.2.0 Scala2.11.12 一、Jdk环境配置 下载 http://www.oracle.com/technetwork/cn/java/javase/downloads/...

yiluohan0307的专栏 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Spark编译及spark开发环境搭建

最近需要将生产环境的spark1.3版本升级到spark1.6(尽管spark2.0已经发布一段时间了,稳定可靠起见,还是选择了spark1.6),同时需要基于spark开发一些中间件,因此需要搭建一套windows下的spark的开发环境,方便代码的编写和调试。中间遇到了比较多的问题,在此也做一个记录/总结。Spark编译编译条件:官方给出的spark预编译版本是不支持spark on hive

Forever-守望 3296

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

重拾Spark 之day02--Spark开发环境搭建

这里就不详细讲解Hadoop集群以及Spark集群怎么搭建。这里是搭建Windows 10系统本地开发环境,可以编写Spark测试案例。 Spark开发环境搭建1. Spark开发环境搭建1.1 安装jdk1.2 安装IntelliJ IDEA1.3 安装Scala1.4 安装Python1.5 安装Spark 1. Spark开发环境搭建 1.1 安装jdk 我选择的版本是jdk1.8.0_11...

Nick 454

spark开发环境搭建及部署

spark开发环境搭建以及打包部署

超超德博客 1342

Spark入门(二)——Spark环境搭建与开发环境

Spark Standalone 和 Spark On Yarn环境搭建

17611119847 1万+

二、Spark 开发环境搭建 IDEA + Maven 及 WordCount 案例实战

想在自己的电脑上写Spark程序,第一步就是搭好开发环境。这次我会手把手带你在IDEA里完成所有设置:从创建Maven项目、配置好与Spark版本匹配的Scala,到在pom.xml里添加核心依赖。它还专门解决了两个常见“拦路虎”:配置log4j来减少日志刷屏,以及搞定Windows环境下特有的winutils.exe问题。跟着走完,你就能成功跑起一个WordCount,顺利迈出Spark开发的第一步。

专注于 Agent 工程、AI 产品、Harness Engineering、LLM 算法等方向,OpenMathModel、Nivik 等开源项目作者 7万+

spark开发环境搭建

双击位置。

F2H3K999的博客 454

Spark Eclipse 开发环境搭建

Spark Eclipse 开发环境搭建 1 安装Spark环境 首先下载与集群 Hadoop 版本对应的 Spark 编译好的版本,解压缩到指定位置,注意用户权限 进入解压缩之后的 SPARK_HOME 目录 配置 /etc/profile 或者 ~/.bashrc 中配置 SPARK_H...

chengtuo5899的博客 245
上一篇: Uber Go语言规范
下一篇: 论软件的可靠性设计
正说杂谈
博客等级 码龄15年 30粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正说杂谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值