使用Intellij Idea编写Spark应用程序(Scala+SBT)

spark使用scala语言开发的,进行spark开发优先考虑scala语言了。而进行scala程序开发,我们自然得考虑一款好用的IDE,这里推荐IntelliJ IDEA。

本次安装环境:win7 64位系统。

1、安装jdk

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
这里写图片描述
下载好之后,直接双击安装,下一步,直到安装完成。
打开命令行进行验证:

C:\Users\zhanglf>java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)

C:\Users\zhanglf>

2、下载IntelliJ IDEA

下载地址:https://www.jetbrains.com/idea/download/download-thanks.html?platform=windows&code=IIC
下载好之后直接双击安装即可。

3、安装scala插件

1、打开IntelliJ IDEA ,依次点击Configure->Plugins
这里写图片描述
2、在Plugins界面点击Install JetBrains plugin按钮
这里写图片描述
3、在Browse JetBrains Plugins界面输入scala,安装scala插件
这里写图片描述
安装完scala插件后,记得重启IntelliJ IDEA。

4、配置全局JDK

为了不用每次都去配置JDK,这里先进行一次全局配置。
在IntelliJ IDEA欢迎页面依次点击Configure-> Project Defaults -> Project Structure
这里写图片描述

在Default Project Structure里依次点击SDKs -> + -> JDK
这里写图片描述

在Select Home Directory For JDK里选择jdk的安装目录,然后点击OK
这里写图片描述

添加完的效果如下:
这里写图片描述

5、新建scala项目

这里写图片描述

输入project name以及scala版本(scala版本必须是2.11.*):
这里写图片描述

6、编辑build.sbt文件

name := "firstspark"

version := "0.1"

scalaVersion := "2.11.0"

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.3.1"

注释:
1、上面的前三行是IDE自动生成的,分别表示项目名称、项目版本号、scala版本号
2、libraryDependencies定义了spark库的位置,sbt会自动下载对应的库,下面的图片给出了如何定义libraryDependencies
这里写图片描述

7、编写spark程序进行测试

鼠标右键src/main/scala,依次选择new -> package
这里写图片描述

输入包名
这里写图片描述

在包名右键,新建scala class
这里写图片描述

输入object名称
这里写图片描述

编辑代码进行测试:

package com.demo

import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
import org.apache.log4j.{Level,Logger}

object HelloWorld {
  def main(args:Array[String]): Unit = {
    //屏蔽日志
    Logger.getLogger("org.apache.spark").setLevel(Level.WARN)
    Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)

    //test.txt文件里包含了hello world行,读者可自己修改测试
    val inputfile="hdfs://hadoop1:9000/test.txt"

    val conf = new SparkConf().setAppName("HelloWorld").setMaster("local[2]")

    val sc = new SparkContext(conf)

    val textfile = sc.textFile(inputfile)

    //查询包含hello world的行
    val lines = textfile.filter(line => line.contains("hello world"))

    lines.foreach(println)
  }
}

运行日志:

"C:\Program Files\Java\jdk1.8.0_172\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1.5\lib\idea_rt.jar=55098:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_172\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\rt.jar;C:\Users\zhanglf\IdeaProjects\firstspark\target\scala-2.11\classes;C:\Users\zhanglf\.ivy2\cache\org.scala-lang\scala-library\jars\scala-library-2.11.0.jar;C:\Users\zhanglf\.ivy2\cache\xmlenc\xmlenc\jars\xmlenc-0.52.jar;C:\Users\zhanglf\.ivy2\cache\xml-apis\xml-apis\jars\xml-apis-1.3.04.jar;C:\Users\zhanglf\.ivy2\cache\xerces\xercesImpl\jars\xercesImpl-2.9.1.jar;C:\Users\zhanglf\.ivy2\cache\oro\oro\jars\oro-2.0.8.jar;C:\Users\zhanglf\.ivy2\cache\org.xerial.snappy\snappy-java\bundles\snappy-java-1.1.2.6.jar;C:\Users\zhanglf\.ivy2\cache\org.tukaani\xz\jars\xz-1.0.jar;C:\Users\zhanglf\.ivy2\cache\org.spark-project.spark\unused\jars\unused-1.0.0.jar;C:\Users\zhanglf\.ivy2\cache\org.sonatype.sisu.inject\cglib\jars\cglib-2.2.1-v20090111.jar;C:\Users\zhanglf\.ivy2\cache\org.slf4j\slf4j-log4j12\jars\slf4j-log4j12-1.7.16.jar;C:\Users\zhanglf\.ivy2\cache\org.slf4j\slf4j-api\jars\slf4j-api-1.7.16.jar;C:\Users\zhanglf\.ivy2\cache\org.slf4j\jul-to-slf4j\jars\jul-to-slf4j-1.7.16.jar;C:\Users\zhanglf\.ivy2\cache\org.slf4j\jcl-over-slf4j\jars\jcl-over-slf4j-1.7.16.jar;C:\Users\zhanglf\.ivy2\cache\org.scala-lang.modules\scala-xml_2.11\bundles\scala-xml_2.11-1.0.1.jar;C:\Users\zhanglf\.ivy2\cache\org.scala-lang.modules\scala-parser-combinators_2.11\bundles\scala-parser-combinators_2.11-1.0.1.jar;C:\Users\zhanglf\.ivy2\cache\org.scala-lang\scalap\jars\scalap-2.11.0.jar;C:\Users\zhanglf\.ivy2\cache\org.scala-lang\scala-reflect\jars\scala-reflect-2.11.0.jar;C:\Users\zhanglf\.ivy2\cache\org.scala-lang\scala-compiler\jars\scala-compiler-2.11.0.jar;C:\Users\zhanglf\.ivy2\cache\org.roaringbitmap\RoaringBitmap\bundles\RoaringBitmap-0.5.11.jar;C:\Users\zhanglf\.ivy2\cache\org.objenesis\objenesis\jars\objenesis-2.1.jar;C:\Users\zhanglf\.ivy2\cache\org.mortbay.jetty\jetty-util\jars\jetty-util-6.1.26.jar;C:\Users\zhanglf\.ivy2\cache\org.lz4\lz4-java\jars\lz4-java-1.4.0.jar;C:\Users\zhanglf\.ivy2\cache\org.json4s\json4s-jackson_2.11\jars\json4s-jackson_2.11-3.2.11.jar;C:\Users\zhanglf\.ivy2\cache\org.json4s\json4s-core_2.11\jars\json4s-core_2.11-3.2.11.jar;C:\Users\zhanglf\.ivy2\cache\org.json4s\json4s-ast_2.11\jars\json4s-ast_2.11-3.2.11.jar;C:\Users\zhanglf\.ivy2\cache\org.javassist\javassist\bundles\javassist-3.18.1-GA.jar;C:\Users\zhanglf\.ivy2\cache\org.htrace\htrace-core\jars\htrace-core-3.0.4.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.media\jersey-media-jaxb\jars\jersey-media-jaxb-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.core\jersey-server\jars\jersey-server-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.core\jersey-common\jars\jersey-common-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.core\jersey-client\jars\jersey-client-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.containers\jersey-container-servlet-core\jars\jersey-container-servlet-core-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.containers\jersey-container-servlet\jars\jersey-container-servlet-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.bundles.repackaged\jersey-guava\bundles\jersey-guava-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2.external\javax.inject\jars\javax.inject-2.4.0-b34.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2.external\aopalliance-repackaged\jars\aopalliance-repackaged-2.4.0-b34.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2\osgi-resource-locator\jars\osgi-resource-locator-1.0.1.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2\hk2-utils\jars\hk2-utils-2.4.0-b34.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2\hk2-locator\jars\hk2-locator-2.4.0-b34.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2\hk2-api\jars\hk2-api-2.4.0-b34.jar;C:\Users\zhanglf\.ivy2\cache\org.fusesource.leveldbjni\leveldbjni-all\bundles\leveldbjni-all-1.8.jar;C:\Users\zhanglf\.ivy2\cache\org.codehaus.jettison\jettison\bundles\jettison-1.1.jar;C:\Users\zhanglf\.ivy2\cache\org.codehaus.jackson\jackson-xc\jars\jackson-xc-1.9.13.jar;C:\Users\zhanglf\.ivy2\cache\org.codehaus.jackson\jackson-mapper-asl\jars\jackson-mapper-asl-1.9.13.jar;C:\Users\zhanglf\.ivy2\cache\org.codehaus.jackson\jackson-jaxrs\jars\jackson-jaxrs-1.9.13.jar;C:\Users\zhanglf\.ivy2\cache\org.codehaus.jackson\jackson-core-asl\jars\jackson-core-asl-1.9.13.jar;C:\Users\zhanglf\.ivy2\cache\org.bouncycastle\bcprov-jdk15on\jars\bcprov-jdk15on-1.52.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.zookeeper\zookeeper\jars\zookeeper-3.4.6.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.xbean\xbean-asm5-shaded\bundles\xbean-asm5-shaded-4.4.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-unsafe_2.11\jars\spark-unsafe_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-tags_2.11\jars\spark-tags_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-network-shuffle_2.11\jars\spark-network-shuffle_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-network-common_2.11\jars\spark-network-common_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-launcher_2.11\jars\spark-launcher_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-kvstore_2.11\jars\spark-kvstore_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-core_2.11\jars\spark-core_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.ivy\ivy\jars\ivy-2.4.0.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.httpcomponents\httpcore\jars\httpcore-4.4.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.httpcomponents\httpclient\jars\httpclient-4.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-yarn-server-common\jars\hadoop-yarn-server-common-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-yarn-common\jars\hadoop-yarn-common-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-yarn-client\jars\hadoop-yarn-client-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-yarn-api\jars\hadoop-yarn-api-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-mapreduce-client-shuffle\jars\hadoop-mapreduce-client-shuffle-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-mapreduce-client-jobclient\jars\hadoop-mapreduce-client-jobclient-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-mapreduce-client-core\jars\hadoop-mapreduce-client-core-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-mapreduce-client-common\jars\hadoop-mapreduce-client-common-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-mapreduce-client-app\jars\hadoop-mapreduce-client-app-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-hdfs\jars\hadoop-hdfs-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-common\jars\hadoop-common-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-client\jars\hadoop-client-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-auth\jars\hadoop-auth-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-annotations\jars\hadoop-annotations-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.directory.server\apacheds-kerberos-codec\bundles\apacheds-kerberos-codec-2.0.0-M15.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.directory.server\apacheds-i18n\bundles\apacheds-i18n-2.0.0-M15.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.directory.api\api-util\bundles\api-util-1.0.0-M20.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.directory.api\api-asn1-api\bundles\api-asn1-api-1.0.0-M20.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.curator\curator-recipes\bundles\curator-recipes-2.6.0.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.curator\curator-framework\bundles\curator-framework-2.6.0.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.curator\curator-client\bundles\curator-client-2.6.0.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.commons\commons-math3\jars\commons-math3-3.4.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.commons\commons-lang3\jars\commons-lang3-3.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.commons\commons-crypto\jars\commons-crypto-1.0.0.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.commons\commons-compress\jars\commons-compress-1.4.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.avro\avro-mapred\jars\avro-mapred-1.7.7-hadoop2.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.avro\avro-ipc\jars\avro-ipc-1.7.7-tests.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.avro\avro-ipc\jars\avro-ipc-1.7.7.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.avro\avro\bundles\avro-1.7.7.jar;C:\Users\zhanglf\.ivy2\cache\net.sf.py4j\py4j\jars\py4j-0.10.7.jar;C:\Users\zhanglf\.ivy2\cache\net.razorvine\pyrolite\jars\pyrolite-4.13.jar;C:\Users\zhanglf\.ivy2\cache\net.java.dev.jets3t\jets3t\jars\jets3t-0.9.4.jar;C:\Users\zhanglf\.ivy2\cache\net.iharder\base64\jars\base64-2.3.8.jar;C:\Users\zhanglf\.ivy2\cache\log4j\log4j\bundles\log4j-1.2.17.jar;C:\Users\zhanglf\.ivy2\cache\jline\jline\jars\jline-0.9.94.jar;C:\Users\zhanglf\.ivy2\cache\javax.xml.stream\stax-api\jars\stax-api-1.0-2.jar;C:\Users\zhanglf\.ivy2\cache\javax.xml.bind\jaxb-api\jars\jaxb-api-2.2.2.jar;C:\Users\zhanglf\.ivy2\cache\javax.ws.rs\javax.ws.rs-api\jars\javax.ws.rs-api-2.0.1.jar;C:\Users\zhanglf\.ivy2\cache\javax.validation\validation-api\jars\validation-api-1.1.0.Final.jar;C:\Users\zhanglf\.ivy2\cache\javax.servlet\javax.servlet-api\jars\javax.servlet-api-3.1.0.jar;C:\Users\zhanglf\.ivy2\cache\javax.inject\javax.inject\jars\javax.inject-1.jar;C:\Users\zhanglf\.ivy2\cache\javax.annotation\javax.annotation-api\jars\javax.annotation-api-1.2.jar;C:\Users\zhanglf\.ivy2\cache\javax.activation\activation\jars\activation-1.1.1.jar;C:\Users\zhanglf\.ivy2\cache\io.netty\netty-all\jars\netty-all-4.1.17.Final.jar;C:\Users\zhanglf\.ivy2\cache\io.netty\netty\bundles\netty-3.9.9.Final.jar;C:\Users\zhanglf\.ivy2\cache\io.dropwizard.metrics\metrics-jvm\bundles\metrics-jvm-3.1.5.jar;C:\Users\zhanglf\.ivy2\cache\io.dropwizard.metrics\metrics-json\bundles\metrics-json-3.1.5.jar;C:\Users\zhanglf\.ivy2\cache\io.dropwizard.metrics\metrics-graphite\bundles\metrics-graphite-3.1.5.jar;C:\Users\zhanglf\.ivy2\cache\io.dropwizard.metrics\metrics-core\bundles\metrics-core-3.1.5.jar;C:\Users\zhanglf\.ivy2\cache\commons-net\commons-net\jars\commons-net-2.2.jar;C:\Users\zhanglf\.ivy2\cache\commons-lang\commons-lang\jars\commons-lang-2.6.jar;C:\Users\zhanglf\.ivy2\cache\commons-io\commons-io\jars\commons-io-2.4.jar;C:\Users\zhanglf\.ivy2\cache\commons-httpclient\commons-httpclient\jars\commons-httpclient-3.1.jar;C:\Users\zhanglf\.ivy2\cache\commons-digester\commons-digester\jars\commons-digester-1.8.jar;C:\Users\zhanglf\.ivy2\cache\commons-configuration\commons-configuration\jars\commons-configuration-1.6.jar;C:\Users\zhanglf\.ivy2\cache\commons-collections\commons-collections\jars\commons-collections-3.2.2.jar;C:\Users\zhanglf\.ivy2\cache\commons-codec\commons-codec\jars\commons-codec-1.11.jar;C:\Users\zhanglf\.ivy2\cache\commons-cli\commons-cli\jars\commons-cli-1.2.jar;C:\Users\zhanglf\.ivy2\cache\commons-beanutils\commons-beanutils-core\jars\commons-beanutils-core-1.8.0.jar;C:\Users\zhanglf\.ivy2\cache\commons-beanutils\commons-beanutils\jars\commons-beanutils-1.7.0.jar;C:\Users\zhanglf\.ivy2\cache\com.twitter\chill_2.11\jars\chill_2.11-0.8.4.jar;C:\Users\zhanglf\.ivy2\cache\com.twitter\chill-java\jars\chill-java-0.8.4.jar;C:\Users\zhanglf\.ivy2\cache\com.thoughtworks.paranamer\paranamer\bundles\paranamer-2.8.jar;C:\Users\zhanglf\.ivy2\cache\com.ning\compress-lzf\bundles\compress-lzf-1.0.3.jar;C:\Users\zhanglf\.ivy2\cache\com.jamesmurty.utils\java-xmlbuilder\jars\java-xmlbuilder-1.1.jar;C:\Users\zhanglf\.ivy2\cache\com.google.protobuf\protobuf-java\bundles\protobuf-java-2.5.0.jar;C:\Users\zhanglf\.ivy2\cache\com.google.inject\guice\jars\guice-3.0.jar;C:\Users\zhanglf\.ivy2\cache\com.google.guava\guava\jars\guava-11.0.2.jar;C:\Users\zhanglf\.ivy2\cache\com.google.code.gson\gson\jars\gson-2.2.4.jar;C:\Users\zhanglf\.ivy2\cache\com.google.code.findbugs\jsr305\jars\jsr305-1.3.9.jar;C:\Users\zhanglf\.ivy2\cache\com.github.luben\zstd-jni\bundles\zstd-jni-1.3.2-2.jar;C:\Users\zhanglf\.ivy2\cache\com.fasterxml.jackson.module\jackson-module-scala_2.11\bundles\jackson-module-scala_2.11-2.6.7.1.jar;C:\Users\zhanglf\.ivy2\cache\com.fasterxml.jackson.module\jackson-module-paranamer\bundles\jackson-module-paranamer-2.7.9.jar;C:\Users\zhanglf\.ivy2\cache\com.fasterxml.jackson.core\jackson-databind\bundles\jackson-databind-2.6.7.1.jar;C:\Users\zhanglf\.ivy2\cache\com.fasterxml.jackson.core\jackson-core\bundles\jackson-core-2.6.7.jar;C:\Users\zhanglf\.ivy2\cache\com.fasterxml.jackson.core\jackson-annotations\bundles\jackson-annotations-2.6.7.jar;C:\Users\zhanglf\.ivy2\cache\com.esotericsoftware\minlog\bundles\minlog-1.3.0.jar;C:\Users\zhanglf\.ivy2\cache\com.esotericsoftware\kryo-shaded\bundles\kryo-shaded-3.0.3.jar;C:\Users\zhanglf\.ivy2\cache\com.clearspring.analytics\stream\jars\stream-2.7.0.jar;C:\Users\zhanglf\.ivy2\cache\aopalliance\aopalliance\jars\aopalliance-1.0.jar" com.demo.HelloWorld
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
18/07/05 10:14:27 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
18/07/05 10:14:27 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
    at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:378)
    at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:393)
    at org.apache.hadoop.util.Shell.<clinit>(Shell.java:386)
    at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:79)
    at org.apache.hadoop.security.Groups.parseStaticMapping(Groups.java:116)
    at org.apache.hadoop.security.Groups.<init>(Groups.java:93)
    at org.apache.hadoop.security.Groups.<init>(Groups.java:73)
    at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:293)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:283)
    at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:260)
    at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:789)
    at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:774)
    at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:647)
    at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2467)
	at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2467)
    at scala.Option.getOrElse(Option.scala:120)
    at org.apache.spark.util.Utils$.getCurrentUserName(Utils.scala:2467)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:292)
    at com.demo.HelloWorld$.main(HelloWorld.scala:17)
    at com.demo.HelloWorld.main(HelloWorld.scala)
18/07/05 10:14:27 ERROR SparkContext: Error initializing SparkContext.

从提示信息可以看出:18/07/05 10:14:27 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path,原来是要查找Hadoop下的可执行文件wintutils,所以,我们需要安装hadoop才可以进行spark开发。

8、hadoop安装

下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.6.5/
这里写图片描述

下载后,直接解压到某一个目录,我这里解压到c:\
这里写图片描述

这里需要下载一个winutils,选择和你的hadoop对应的版本,将bin目录内容拷贝到hadoop_home/bin目录里。
下载地址:https://pan.baidu.com/s/18ZTgmqvl5upRxvADF5iIRg

这里写图片描述

配置环境变量:
HADOOP_HOME = C:\hadoop-2.6.5
以及修改PATH环境变量,指向%HADOOP_HOME%/bin;%HADOOP_HOME%/sbin

9、再次执行

"C:\Program Files\Java\jdk1.8.0_172\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1.5\lib\idea_rt.jar=64529:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_172\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_172\jre\lib\rt.jar;C:\Users\zhanglf\IdeaProjects\firstspark\target\scala-2.11\classes;C:\Users\zhanglf\.ivy2\cache\org.scala-lang\scala-library\jars\scala-library-2.11.0.jar;C:\Users\zhanglf\.ivy2\cache\xmlenc\xmlenc\jars\xmlenc-0.52.jar;C:\Users\zhanglf\.ivy2\cache\xml-apis\xml-apis\jars\xml-apis-1.3.04.jar;C:\Users\zhanglf\.ivy2\cache\xerces\xercesImpl\jars\xercesImpl-2.9.1.jar;C:\Users\zhanglf\.ivy2\cache\oro\oro\jars\oro-2.0.8.jar;C:\Users\zhanglf\.ivy2\cache\org.xerial.snappy\snappy-java\bundles\snappy-java-1.1.2.6.jar;C:\Users\zhanglf\.ivy2\cache\org.tukaani\xz\jars\xz-1.0.jar;C:\Users\zhanglf\.ivy2\cache\org.spark-project.spark\unused\jars\unused-1.0.0.jar;C:\Users\zhanglf\.ivy2\cache\org.sonatype.sisu.inject\cglib\jars\cglib-2.2.1-v20090111.jar;C:\Users\zhanglf\.ivy2\cache\org.slf4j\slf4j-log4j12\jars\slf4j-log4j12-1.7.16.jar;C:\Users\zhanglf\.ivy2\cache\org.slf4j\slf4j-api\jars\slf4j-api-1.7.16.jar;C:\Users\zhanglf\.ivy2\cache\org.slf4j\jul-to-slf4j\jars\jul-to-slf4j-1.7.16.jar;C:\Users\zhanglf\.ivy2\cache\org.slf4j\jcl-over-slf4j\jars\jcl-over-slf4j-1.7.16.jar;C:\Users\zhanglf\.ivy2\cache\org.scala-lang.modules\scala-xml_2.11\bundles\scala-xml_2.11-1.0.1.jar;C:\Users\zhanglf\.ivy2\cache\org.scala-lang.modules\scala-parser-combinators_2.11\bundles\scala-parser-combinators_2.11-1.0.1.jar;C:\Users\zhanglf\.ivy2\cache\org.scala-lang\scalap\jars\scalap-2.11.0.jar;C:\Users\zhanglf\.ivy2\cache\org.scala-lang\scala-reflect\jars\scala-reflect-2.11.0.jar;C:\Users\zhanglf\.ivy2\cache\org.scala-lang\scala-compiler\jars\scala-compiler-2.11.0.jar;C:\Users\zhanglf\.ivy2\cache\org.roaringbitmap\RoaringBitmap\bundles\RoaringBitmap-0.5.11.jar;C:\Users\zhanglf\.ivy2\cache\org.objenesis\objenesis\jars\objenesis-2.1.jar;C:\Users\zhanglf\.ivy2\cache\org.mortbay.jetty\jetty-util\jars\jetty-util-6.1.26.jar;C:\Users\zhanglf\.ivy2\cache\org.lz4\lz4-java\jars\lz4-java-1.4.0.jar;C:\Users\zhanglf\.ivy2\cache\org.json4s\json4s-jackson_2.11\jars\json4s-jackson_2.11-3.2.11.jar;C:\Users\zhanglf\.ivy2\cache\org.json4s\json4s-core_2.11\jars\json4s-core_2.11-3.2.11.jar;C:\Users\zhanglf\.ivy2\cache\org.json4s\json4s-ast_2.11\jars\json4s-ast_2.11-3.2.11.jar;C:\Users\zhanglf\.ivy2\cache\org.javassist\javassist\bundles\javassist-3.18.1-GA.jar;C:\Users\zhanglf\.ivy2\cache\org.htrace\htrace-core\jars\htrace-core-3.0.4.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.media\jersey-media-jaxb\jars\jersey-media-jaxb-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.core\jersey-server\jars\jersey-server-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.core\jersey-common\jars\jersey-common-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.core\jersey-client\jars\jersey-client-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.containers\jersey-container-servlet-core\jars\jersey-container-servlet-core-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.containers\jersey-container-servlet\jars\jersey-container-servlet-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.jersey.bundles.repackaged\jersey-guava\bundles\jersey-guava-2.22.2.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2.external\javax.inject\jars\javax.inject-2.4.0-b34.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2.external\aopalliance-repackaged\jars\aopalliance-repackaged-2.4.0-b34.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2\osgi-resource-locator\jars\osgi-resource-locator-1.0.1.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2\hk2-utils\jars\hk2-utils-2.4.0-b34.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2\hk2-locator\jars\hk2-locator-2.4.0-b34.jar;C:\Users\zhanglf\.ivy2\cache\org.glassfish.hk2\hk2-api\jars\hk2-api-2.4.0-b34.jar;C:\Users\zhanglf\.ivy2\cache\org.fusesource.leveldbjni\leveldbjni-all\bundles\leveldbjni-all-1.8.jar;C:\Users\zhanglf\.ivy2\cache\org.codehaus.jettison\jettison\bundles\jettison-1.1.jar;C:\Users\zhanglf\.ivy2\cache\org.codehaus.jackson\jackson-xc\jars\jackson-xc-1.9.13.jar;C:\Users\zhanglf\.ivy2\cache\org.codehaus.jackson\jackson-mapper-asl\jars\jackson-mapper-asl-1.9.13.jar;C:\Users\zhanglf\.ivy2\cache\org.codehaus.jackson\jackson-jaxrs\jars\jackson-jaxrs-1.9.13.jar;C:\Users\zhanglf\.ivy2\cache\org.codehaus.jackson\jackson-core-asl\jars\jackson-core-asl-1.9.13.jar;C:\Users\zhanglf\.ivy2\cache\org.bouncycastle\bcprov-jdk15on\jars\bcprov-jdk15on-1.52.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.zookeeper\zookeeper\jars\zookeeper-3.4.6.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.xbean\xbean-asm5-shaded\bundles\xbean-asm5-shaded-4.4.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-unsafe_2.11\jars\spark-unsafe_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-tags_2.11\jars\spark-tags_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-network-shuffle_2.11\jars\spark-network-shuffle_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-network-common_2.11\jars\spark-network-common_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-launcher_2.11\jars\spark-launcher_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-kvstore_2.11\jars\spark-kvstore_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.spark\spark-core_2.11\jars\spark-core_2.11-2.3.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.ivy\ivy\jars\ivy-2.4.0.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.httpcomponents\httpcore\jars\httpcore-4.4.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.httpcomponents\httpclient\jars\httpclient-4.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-yarn-server-common\jars\hadoop-yarn-server-common-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-yarn-common\jars\hadoop-yarn-common-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-yarn-client\jars\hadoop-yarn-client-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-yarn-api\jars\hadoop-yarn-api-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-mapreduce-client-shuffle\jars\hadoop-mapreduce-client-shuffle-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-mapreduce-client-jobclient\jars\hadoop-mapreduce-client-jobclient-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-mapreduce-client-core\jars\hadoop-mapreduce-client-core-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-mapreduce-client-common\jars\hadoop-mapreduce-client-common-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-mapreduce-client-app\jars\hadoop-mapreduce-client-app-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-hdfs\jars\hadoop-hdfs-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-common\jars\hadoop-common-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-client\jars\hadoop-client-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-auth\jars\hadoop-auth-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.hadoop\hadoop-annotations\jars\hadoop-annotations-2.6.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.directory.server\apacheds-kerberos-codec\bundles\apacheds-kerberos-codec-2.0.0-M15.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.directory.server\apacheds-i18n\bundles\apacheds-i18n-2.0.0-M15.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.directory.api\api-util\bundles\api-util-1.0.0-M20.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.directory.api\api-asn1-api\bundles\api-asn1-api-1.0.0-M20.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.curator\curator-recipes\bundles\curator-recipes-2.6.0.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.curator\curator-framework\bundles\curator-framework-2.6.0.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.curator\curator-client\bundles\curator-client-2.6.0.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.commons\commons-math3\jars\commons-math3-3.4.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.commons\commons-lang3\jars\commons-lang3-3.5.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.commons\commons-crypto\jars\commons-crypto-1.0.0.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.commons\commons-compress\jars\commons-compress-1.4.1.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.avro\avro-mapred\jars\avro-mapred-1.7.7-hadoop2.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.avro\avro-ipc\jars\avro-ipc-1.7.7-tests.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.avro\avro-ipc\jars\avro-ipc-1.7.7.jar;C:\Users\zhanglf\.ivy2\cache\org.apache.avro\avro\bundles\avro-1.7.7.jar;C:\Users\zhanglf\.ivy2\cache\net.sf.py4j\py4j\jars\py4j-0.10.7.jar;C:\Users\zhanglf\.ivy2\cache\net.razorvine\pyrolite\jars\pyrolite-4.13.jar;C:\Users\zhanglf\.ivy2\cache\net.java.dev.jets3t\jets3t\jars\jets3t-0.9.4.jar;C:\Users\zhanglf\.ivy2\cache\net.iharder\base64\jars\base64-2.3.8.jar;C:\Users\zhanglf\.ivy2\cache\log4j\log4j\bundles\log4j-1.2.17.jar;C:\Users\zhanglf\.ivy2\cache\jline\jline\jars\jline-0.9.94.jar;C:\Users\zhanglf\.ivy2\cache\javax.xml.stream\stax-api\jars\stax-api-1.0-2.jar;C:\Users\zhanglf\.ivy2\cache\javax.xml.bind\jaxb-api\jars\jaxb-api-2.2.2.jar;C:\Users\zhanglf\.ivy2\cache\javax.ws.rs\javax.ws.rs-api\jars\javax.ws.rs-api-2.0.1.jar;C:\Users\zhanglf\.ivy2\cache\javax.validation\validation-api\jars\validation-api-1.1.0.Final.jar;C:\Users\zhanglf\.ivy2\cache\javax.servlet\javax.servlet-api\jars\javax.servlet-api-3.1.0.jar;C:\Users\zhanglf\.ivy2\cache\javax.inject\javax.inject\jars\javax.inject-1.jar;C:\Users\zhanglf\.ivy2\cache\javax.annotation\javax.annotation-api\jars\javax.annotation-api-1.2.jar;C:\Users\zhanglf\.ivy2\cache\javax.activation\activation\jars\activation-1.1.1.jar;C:\Users\zhanglf\.ivy2\cache\io.netty\netty-all\jars\netty-all-4.1.17.Final.jar;C:\Users\zhanglf\.ivy2\cache\io.netty\netty\bundles\netty-3.9.9.Final.jar;C:\Users\zhanglf\.ivy2\cache\io.dropwizard.metrics\metrics-jvm\bundles\metrics-jvm-3.1.5.jar;C:\Users\zhanglf\.ivy2\cache\io.dropwizard.metrics\metrics-json\bundles\metrics-json-3.1.5.jar;C:\Users\zhanglf\.ivy2\cache\io.dropwizard.metrics\metrics-graphite\bundles\metrics-graphite-3.1.5.jar;C:\Users\zhanglf\.ivy2\cache\io.dropwizard.metrics\metrics-core\bundles\metrics-core-3.1.5.jar;C:\Users\zhanglf\.ivy2\cache\commons-net\commons-net\jars\commons-net-2.2.jar;C:\Users\zhanglf\.ivy2\cache\commons-lang\commons-lang\jars\commons-lang-2.6.jar;C:\Users\zhanglf\.ivy2\cache\commons-io\commons-io\jars\commons-io-2.4.jar;C:\Users\zhanglf\.ivy2\cache\commons-httpclient\commons-httpclient\jars\commons-httpclient-3.1.jar;C:\Users\zhanglf\.ivy2\cache\commons-digester\commons-digester\jars\commons-digester-1.8.jar;C:\Users\zhanglf\.ivy2\cache\commons-configuration\commons-configuration\jars\commons-configuration-1.6.jar;C:\Users\zhanglf\.ivy2\cache\commons-collections\commons-collections\jars\commons-collections-3.2.2.jar;C:\Users\zhanglf\.ivy2\cache\commons-codec\commons-codec\jars\commons-codec-1.11.jar;C:\Users\zhanglf\.ivy2\cache\commons-cli\commons-cli\jars\commons-cli-1.2.jar;C:\Users\zhanglf\.ivy2\cache\commons-beanutils\commons-beanutils-core\jars\commons-beanutils-core-1.8.0.jar;C:\Users\zhanglf\.ivy2\cache\commons-beanutils\commons-beanutils\jars\commons-beanutils-1.7.0.jar;C:\Users\zhanglf\.ivy2\cache\com.twitter\chill_2.11\jars\chill_2.11-0.8.4.jar;C:\Users\zhanglf\.ivy2\cache\com.twitter\chill-java\jars\chill-java-0.8.4.jar;C:\Users\zhanglf\.ivy2\cache\com.thoughtworks.paranamer\paranamer\bundles\paranamer-2.8.jar;C:\Users\zhanglf\.ivy2\cache\com.ning\compress-lzf\bundles\compress-lzf-1.0.3.jar;C:\Users\zhanglf\.ivy2\cache\com.jamesmurty.utils\java-xmlbuilder\jars\java-xmlbuilder-1.1.jar;C:\Users\zhanglf\.ivy2\cache\com.google.protobuf\protobuf-java\bundles\protobuf-java-2.5.0.jar;C:\Users\zhanglf\.ivy2\cache\com.google.inject\guice\jars\guice-3.0.jar;C:\Users\zhanglf\.ivy2\cache\com.google.guava\guava\jars\guava-11.0.2.jar;C:\Users\zhanglf\.ivy2\cache\com.google.code.gson\gson\jars\gson-2.2.4.jar;C:\Users\zhanglf\.ivy2\cache\com.google.code.findbugs\jsr305\jars\jsr305-1.3.9.jar;C:\Users\zhanglf\.ivy2\cache\com.github.luben\zstd-jni\bundles\zstd-jni-1.3.2-2.jar;C:\Users\zhanglf\.ivy2\cache\com.fasterxml.jackson.module\jackson-module-scala_2.11\bundles\jackson-module-scala_2.11-2.6.7.1.jar;C:\Users\zhanglf\.ivy2\cache\com.fasterxml.jackson.module\jackson-module-paranamer\bundles\jackson-module-paranamer-2.7.9.jar;C:\Users\zhanglf\.ivy2\cache\com.fasterxml.jackson.core\jackson-databind\bundles\jackson-databind-2.6.7.1.jar;C:\Users\zhanglf\.ivy2\cache\com.fasterxml.jackson.core\jackson-core\bundles\jackson-core-2.6.7.jar;C:\Users\zhanglf\.ivy2\cache\com.fasterxml.jackson.core\jackson-annotations\bundles\jackson-annotations-2.6.7.jar;C:\Users\zhanglf\.ivy2\cache\com.esotericsoftware\minlog\bundles\minlog-1.3.0.jar;C:\Users\zhanglf\.ivy2\cache\com.esotericsoftware\kryo-shaded\bundles\kryo-shaded-3.0.3.jar;C:\Users\zhanglf\.ivy2\cache\com.clearspring.analytics\stream\jars\stream-2.7.0.jar;C:\Users\zhanglf\.ivy2\cache\aopalliance\aopalliance\jars\aopalliance-1.0.jar" com.demo.HelloWorld
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
18/07/05 10:45:03 INFO FileInputFormat: Total input paths to process : 1
hello world
hello world haha

Process finished with exit code 0

OK,到这里就基本完工了,windows下开发spark程序环境就搭建成功了。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

历史五千年

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

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

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

打赏作者

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

抵扣说明:

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

余额充值