精华内容
下载资源
问答
  • scala-maven-plugin (以前是 maven-scala-plugin)用于在 Maven 中编译/测试/运行/记录 Scala 代码。 类似插件 建造 目前,您需要 Maven 3.x 和 JDK 8 来构建插件、创建站点并运行integration-test 。 命令 ./...
  • 开发工具和软件版本信息 IDEA 2019.2 ... Scala 2.11.12 Spark 2.4.3 Hadoop 2.7.7 Windows ...

    开发工具和软件版本信息

    IDEA

    2019.2

    JAVA

    1.8

    Scala

    2.11.12

    Spark

    2.4.3

    Hadoop

    2.7.7

    Windows

    Win10专业版64位

    Centos

    7.5

     

    部署Spark和Hadoop本地模式

    1)下载spark和Hadoop

    spark,选择pre_build版本,也就是编译好的版本

    http://mirror.bit.edu.cn/apache/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.7.tgz

    Hadoop,注意下载和spark对应的版本

    http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

     

    2)下载Scala

    Spark2.4.3支持的Scala版本为2.12,因此我们下载2.12.8版本

    https://downloads.lightbend.com/scala/2.12.8/scala-2.12.8.msi

    直接双击安装,选择安装在 D:\software目录下面,然后一直点击下一步直到结束

     

    3)以管理员身份运行winrar,把

    hadoop-2.7.7.tar.gz 和 spark-2.4.3-bin-hadoop2.7.tgz解压到E:\bigdata\

    得到下面两个目录:

    E:\bigdata\hadoop-2.7.7

    E:\bigdata\spark-2.4.3-bin-hadoop2.7

     

     

    4)配置环境变量

    1:配置SPARK_HOME,HADOOP_HOME,SCALA_HOME的环境变量

     

    x  (N):  SPARK HOME  E:\bigdata\spark-2.4.3-bin-hadoop2.71

     

     

     

    x  HADOOP HOME  data\hadoo -2.7.7

     

     

    x  SCALA HOME  D:\software\scala

     

    5)配置PATH变量

    1)Scala配置到PATH变量中

     在PATH变量中新增 :

     %SCALA_HOME%\bin

    %SCALA_HOME%\jre\bin

    %HADOOP_HOME%\bin

    %SPARK_HOME%\bin

     

    x  96USERPROFlLE%\AppData\Local\Microsoft\WindowsApps  %JAVA  D:\software\Microsoft VS Code\bin  SPARK  HADOOP  SCALA  MEW \

     

     

     

     

     

    测试执行Spark本地模式是否成功

    执行spark-sell命令,如果出现下图所示,则成功

     

    Using Spark' s default log4j profile: org apache/ spark/10g4j—defau1ts. properties  Setting default log level to "WARN".  To adjust logging level use sc. setLogLeve1 (newLeve1). For SparkR, use setLogLeve1 (newLeve1) .  Spark context Web UI available at http • //  Spark context available as ' sc' (master  local app id  - local-1560831166803).  Spark session available as ' spark'  Welcome to  7  / \ , // / / version 2. 4.3  Using Scala version 2. 11. 12 (Java HotSpot (TM) 64—Bit Server VM,  Type in expressions to have them evaluated.  Type :help for more information.  scala>  Java 1.8.0 201)

     

     

    1)解决winutil报错的问题

    一般情况下,在Windows中启动spark-shell会报下面错误:

    C: \User s\3g01 den) spark—shel 1  Missing Python executable ' python' , defaulting to ' E: \bigdata\spark—2. 4. 3—bin—hadoop2. 7\bin\.  for SPARK HOME environment variable.  utable in PYSPARK DRIVER PYTHON or PYSPARK PYTHON environment variable to detect SPARK HOME safely.  19/06/18 12:12:37 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.  Please install Python or specify the correct Python exec  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  at  org.  org.  org.  org.  org.  org.  org.  org.  org.  org.  org.  org.  apache. hadoop. util. Shell. getQua1 ifiedBinPath (Shell. java : 379)  apache. hadoop. util. Shell. getWinUti 1sPath (Shell. java: 394)  apache. hadoop. util. Shell. init) (Shell. java: 387)  apache. hadoop. util. StringUti1s. init) (StringUti1s. java: 80)  apache. hadoop. securi ty. Securi tyUti1. getAuthenticationMethod (Securi tyUti1. java: 611)  apache. hadoop. securi ty. UserGroupInformation. initial ize (UserGroupInformation. java: 273)  apache. hadoop. securi ty. UserGroupInformation. ensurelnitial ized (UserGroupInformation. java: 261)  apache. hadoop. security. UserGroupInformation. loginUserFromSubject (UserGroupInformation. java: 791)  apache. hadoop. securi ty. UserGroupInformation. getLoginUser (UserGroupInformation. java : 761)  apache. hadoop. securi ty. UserGroupInformation. getCurrentUser (UserGroupInformation. java: 634)  apache. spark. util. Uti 1s$$anonfun$getCurrentUserName$1. apply (Uti Is. scala: 2422)  apache. spark. util. Uti 1s$$anonfun$getCurrentUserName$1. apply (Uti Is. scala: 2422)  scala. Option. getOrE1se (Option. scala: 121)  org. apache. spark. util. Uti Is$. getCurrentUserName (Utils. scala: 2422)  org. apache. spark. SecurityManager. <init> (SecurityManager. scala: 79)  org. apache. spark. deploy. SparkSubmit. secMgr$1zycompute$1 (SparkSubmit. scala: 359)  org. apache. spark. deploy. SparkSubmit. org$apache$spark$dep10y$SparkSubmit$$secMgr$1 (SparkSubmit. scala: 359)  org. apache. spark. deploy. SparkSubmi t$$anonfun$prepareSubmi tEnvironment$7. apply (SparkSubmi t. scala : 367)  org. apache. spark. deploy. SparkSubmi t$$anonfun$prepareSubmi tEnvironment$7. apply (SparkSubmit. scala: 367)  scala. Option. map (Option. scala: 146)  org. apache. spark. deploy. SparkSubmit. prepareSubmi tEnvironment (SparkSubmit. scala: 366)  org. apache. spark. deploy. SparkSubmit. submit (SparkSubmit. scala: 143)  org. apache. spark. deploy. SparkSubmit. doSubmit (SparkSubmit. scala: 86)  org. apache. spark. deploy. SparkSubmi t$$anon$2. doSubmit (SparkSubmit. scala: 924)  org. apache. spark. deploy. SparkSubmi t$. main (SparkSubmit. scala: 933)  org. apache. spark. deploy. SparkSubmit. main (SparkSubmit. scala)  19/06/18 12: 12:37 WARN NativeCodeLoader: Unable to load native—hadoop library for your platform. . .  Using Spark' s default log4j profile: org apache/ spark/10g4j—defau1ts. properties  Setting default log level to "WARN".  using builtin—java classes where applicable

     

     

    那么则需要把下面的压缩包里面的文件放到Hadoop的bin目录里面就没问题了:

     

    > bigdata  hadoop-2.7.7  bin  winutil.rar  hadoop.dll  winutils.exe  2019/6/18 12:18  2019/3/25 9:46  2019/3/25 9:46  WinRAR  75 KB  84 KB  107 KB

     

    压缩包见下面:

     

    <<winutil.rar>>

     

    重新执行spark-shell

     

    - spark-shell  icrosoft Windows 10. 0. 17763. 437]  (c) 2018 Microsoft Corporation,  spark—shell  sing Spark' s default log4j profile: org/apache/spark/10g4j—defau1ts. properties  Setting default log level to "WARN".  o adjust logging level use sc. setLogLeve1 (newLeve1). For SparkR, use setLogLeve1 (newLeve1).  Spark context Web UI available at http • //  Spark context available as ' sc' (master  local app id  - local-1560832265811).  Spark session available as ' spark'  el come to  7  / \ , // / / version 2. 4.3  sing Scala version 2. 11. 12 (Java HotSpot (TM) 64—Bit Server VM,  ype in expressions to have them evaluated.  ype :help for more information.  scala>  Java 1.8.0 201)

     

     

    然后在通过:http://localhost:4040/jobs/ 可以进入到spark界面

     

    o localhost:4040/jobs  Säar  Jobs Stages  2.4.3  Spark Jobs (?)  User: 3golden  Total Uptime: 32 s  Scheduling Mode: FIFO  Event Timeline  Storage  Environment  Executors

     

     

     

     

    IDEA本地开发Spark设置

     

    1)IDEA的下载和安装

     

    下载安装IDEA,社区版本就够使用

     

    IDEA官网

    https://www.jetbrains.com/idea/

     

     

    https://vwm.jetbrains.com/ide  IntelliJ IDEA  Coming in 2019.2  What's New  Features  Learn  Buy  Download  DEA  Capable and Ergonormg_l_  r JVM  DOWNLOAD  TAKE A TOUR

     

     

     

    IDEA社区版本下载:

     

    Download IntelliJ  IDEA  Windows  macOS  Linux  Ultimate  For web and enterprise  Community  For JVM and Android  development  DOWNLOAD  Free trial  .EXE  development  DOWNLOAD  .EXE  Free, open-source

     

     

    2)安装IDEA到本地目录(略)

     

    3)安装Scala插件

    打开IDEA,然后找到 Configure -> Plugins

     

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image012.png

     

     

    搜索Scala插件,然后点击install安装。安装完成后状态变为installed

     

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image013.png

     

    安装完成,重启IDEA

    4)配置项目的Scala和Java SDK

    选择project structure

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image014.png

     

     

     

    然后设置每个项目的Java版本为1.8

     

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image015.png

     

     

    然后为每个项目新增Scala的支持

     

    Project Structure  scala-sdk-2.1 2.8  Project Settings  Project  Modules  Libraries  Facets  Artifacts  Platform Settings  SDKs  Global Libraries  Problems  Name:  2.12  scala-sdk-2.1 2.8  Compiler classpath:  Standard library:  V Classes  V  D:\software\scala\lib\scala-library.jar  D:\software\scala\lib\scala-parser-combinators 2.12-1.0.7.jar  El 2.12-2.0.3.jar  El 2.12-1.0.6.jar  JavaDocs  OK  Cancel  Apply

     

     

     

    5)新建Spark开发项目

    1:点击 create a new job

     

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image017.png

     

    选择maven项目,然后直接点击下一步

     

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image018.png

     

    填写项目信息,直接next

     

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image019.png

     

    选择项目路径,然后next,项目建立完毕

     

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image020.png

     

    接下来要为项目建立Scala支持

     

    6)项目增加Scala SDK

     

    第一步,右键点击项目,然后选择 Add Framework Support

     

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image021.png

     

     

    第二步,勾选Scala,然后点击OK

     

    Add Frameworks Support  Please select the desired technologies.  This will download all needed libraries and create Facets in project configuration.  C,) Groovy  a Z OSGi  D Play 2.x  •.1 Scala  SQL Support  Use library. scala-sdk-2.12.0  scala-sdk-2.12.O library will be used  OK  Create...  Configure...  Cancel

     

     

    然后再项目结构中可以看到有Scala的支持:

     

     

    Project  V dem001  7_ dem001 .iml  m pom.xml  1.8 > 201  scala-sdk-2.12.O  Scratches and Consoles

     

     

    在main目录下面,和Java相同级别,建立一个目录名字叫做Scala目录

     

    Project  resources  7_ dem001 .iml  m pom.xml  > FilesVava\jdk1.8.0 201  scala-sdk-2.12..O  Scratches and Consoles

     

     

    右键点击scala目录,选择mark directory as 选项,设置为source folder

     

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image025.png

     

     

    7)项目中代码开发

     

    在POM文件中加入依赖:

     

    C:\69819325\5DE70910-5C4B-4582-AC8E-43D53B836AC8.files\image026.png

     

    具体插入的内容为:

     

    <?xml version="1.0" encoding="UTF-8"?>

    <project xmlns="http://maven.apache.org/POM/4.0.0"

             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

        <modelVersion>4.0.0</modelVersion>

     

        <groupId>bigdata_study</groupId>

        <artifactId>demo01</artifactId>

        <version>1.0-SNAPSHOT</version>

     

        <dependencies>

            <dependency><!--Sparkdependency-->

                <groupId>org.apache.spark</groupId>

                <artifactId>spark-sql_2.12</artifactId>

                <version>2.4.3</version>

    <!--            <scope>provided</scope>-->

            </dependency>

        </dependencies>

     

    </project>

     

    接下来,等待maven把所有的依赖下载完成后,新建一个Scala类,执行这个类

    package com. bd. testl  import org. apache. spark. sql. SparkSession  object Testl {  def main (args: Array [String)): Unit  val spark = SparkSession. builder. appName( name  Simple Application"). master( master —  spark. sparkContext. parallelize (List(l, 2, 3))  val rddl  print(rddl. reduce( + ) )  spark. stop ( )  local . get0rCreate ( )

     

    代码如下:

    packagecom.bd.test1

    importorg.apache.spark.sql.SparkSession

    object Test1{

    Def main(args:Array[String]):Unit={

    val spark = SparkSession.builder.appName("SimpleApplication").master("local[*]").getOrCreate()

    val rdd1=spark.sparkContext.parallelize(List(1,2,3))

    print(rdd1.reduce(_+_))

    spark.stop()

    }

    }

     

     

    然后直接执行,已经可以执行了:

     

    Eile Edit yiew Navigate Code Analyze Refactor Build Run 1001s VCS Window Help  dem001 src main scala com > bd ' testl Testl .scala  In 599  In 597  In 643  1.0  In 603  In 600  Project  @ V Rdem001 E:\workpaces\idea\dem001  resources  V com.bd.testl  Testl  D target  dem001 .iml  m pom.xml  Run:  Testl  m dem001 Testl .scala  package com. bd. testl  import org. apache. spark. sql. SparkSession  — object Testl {  def main (args: Array [String)): Unit  val spark = SparkSession. builder. appName( name  spark. sparkContext. paral lel ize (List(l,  val rddl  Simple Application"). master( master —  local  INFO  INFO  INFO  INFO  INFO  INFO  INFO  INFO  INFO  TaskSetManager :  TaskSetManager :  TaskSetManager :  TaskSetManager :  TaskSetManager :  TaskSetManager :  7  10  Fini shed  Fini shed  Fini shed  Fini shed  Fini shed  Fini shed  print(rddl. reduce( + ) )  spark. stop ( )  main(args: Array[String])  19/06/21  19/06/21  19/06/21  19/06/21  19/06/21  19/06/21  19/06/21  19/06/21  19/06/21  Testi  task  task  task  task  task  task  6.  0  stage  stage  stage  stage  stage  stage  0.  0.  0.  0.  0.  0.  o  o  o  o  o  o  (TID  (TID  (TID  (TID  (TID  (TID  6)  3)  5)  0)  1)  4)  In 594  ms  ms  ms  ms  ms  ms  on  on  on  on  on  on  localhost  localhost  localhost  localhost  localhost  localhost  (executor  (executor  (executor  (executor  (executor  (executor  driver)  dri ver)  dri ver)  dri ver)  dri ver)  dri ver)  (4/8)  (5/8)  (6/8)  (8/8)  TaskSchedu1erImp1: Removed TaskSet 0. 0, whose tasks  have all completed, from pool  DACSchedu1er: ResultStage 0 (reduce at Testl. scala:7) finished in 0. 899 s  DACSchedu1er: Job 0 finished: reduce at Testl. scala:7, took 0. 976056 s  619/06/21 18:27:02 INFO SparkU1: Stopped spark web UI at http://DESKTOP-PD31C7E:4040  19/06/21 18:27 :02 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!  19/06/21 18:27 :02 INFO MemoryStore: MemoryStore cleared

     

     

     

    注意:一定要注意的是:如果要把代码发布到集群上面的话,需要

    1)把maven依赖的scope改为provided

    2)代码中的master方法不要调用,因为我们在spark-submit的时候会指定master

    展开全文
  • eclispe创建scala+maven项目

    千次阅读 2018-09-04 12:41:47
    使用eclispe编写scala项目时需搭建scala环境、eclispe安装scala插件 1.win10下搭建scala环境 安装包尽量与spark版本中使用的scala保持一致   解压缩至指定目录下(D:\dev) 配置环境变量(右击此电脑 -- ...

    使用eclispe编写scala项目时需搭建scala环境、eclispe安装scala插件

    1.win10下搭建scala环境

    安装包尽量与spark版本中使用的scala保持一致

     

    解压缩至指定目录下(D:\dev)

    配置环境变量(右击此电脑 -- 属性 -- 高级系统设置 -- 环境变量 -- 系统环境变量 -- 新建SCALA_HOME)

    设置系统环境变量:SCALA_HOME
    Path中添加   %SCALA_HOME%\bin

     

    验证是否配置成功(win+R -- cmd)

    查看版本:scala -version

     

    进入scala shell界面

    scala

    退出命令行 :quit

    查看帮助 :help

    2.eclipse安装scala插件(注意eclispe版本号与插件对应)

    scala-eclispe插件下载地址: http://scala-ide.org/download/prev-stable.html

    下载 压缩包 解压

     

     

     

    打开已有的eclipse

    点击help——install new software

    点击Add

    选择name后面的Local按钮

    选择刚才的解压目录

    全选 一路next 接收协议 finsh 重启ecipse即可

     

     

     

    3.配置eclipse中的scala library

    打开eclispe -- window -- preferences -- scala -- Installations -- add 添加所需scala版本

    点击 ok即可(上面的情况属于已安装)

    4.创建maven项目

    创建普通maven项目 -- 右击点击Configure 添加 scala nature 选择相应版本

    配置pom.xml文件

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>com.mace</groupId>
    	<artifactId>scala.common</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<description>scala-2.11.8入门学习</description>
    
    	<properties>
    		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
    		<maven.scala.plugin.version>2.15.2</maven.scala.plugin.version>
    		<scala.version>2.11.8</scala.version>
    		<spark.version>2.3.0</spark.version>
    	</properties>
    
    	<dependencies>
            <!-- 如果本地有scala环境可不需要下面这三个依赖。直接依赖本地scala环境即可 -->
    		<!-- scala-library Scala编程语言的标准库 -->
    		<dependency>
    			<groupId>org.scala-lang</groupId>
    			<artifactId>scala-library</artifactId>
    			<version>${scala.version}</version>
    		</dependency>
    		<!-- scala-compiler Scala编程语言的编译器 -->
    		<dependency>
    			<groupId>org.scala-lang</groupId>
    			<artifactId>scala-compiler</artifactId>
    			<version>${scala.version}</version>
    		</dependency>
    		<!-- scala-reflect -->
    		<dependency>
    			<groupId>org.scala-lang</groupId>
    			<artifactId>scala-reflect</artifactId>
    			<version>${scala.version}</version>
    		</dependency>
    
    		<!-- spark-core -->
    		<dependency>
    			<groupId>org.apache.spark</groupId>
    			<artifactId>spark-core_2.11</artifactId>
    			<version>${spark.version}</version>
    			<scope>provided</scope>
    		</dependency>
    
    		<!-- redis -->
    		<dependency>
    			<groupId>redis.clients</groupId>
    			<artifactId>jedis</artifactId>
    			<version>2.9.0</version>
    		</dependency>
    
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.12</version>
    			<scope>test</scope>
    		</dependency>
    
    	</dependencies>
    
    	<build>
    		<finalName>${project.artifactId}</finalName>
    
    		<plugins>
    			<!-- maven-scala-plugin 编译scala源代码 mvn clean scala:compile compile package -->
    			<plugin>
    				<groupId>org.scala-tools</groupId>
    				<artifactId>maven-scala-plugin</artifactId>
    				<version>${maven.scala.plugin.version}</version>
    				<executions>
    					<execution>
    						<phase>compile</phase>
    						<goals>
    							<goal>compile</goal>
    							<goal>testCompile</goal>
    						</goals>
    					</execution>
    				</executions>
    			</plugin>
    
    			<!-- 打入依赖 -->
    			<plugin>
    				<artifactId>maven-assembly-plugin</artifactId>
    				<configuration>
    					<appendAssemblyId>false</appendAssemblyId>
    					<descriptorRefs>
    						<descriptorRef>jar-with-dependencies</descriptorRef>
    					</descriptorRefs>
    				</configuration>
    				<executions>
    					<execution>
    						<id>make-assembly</id>
    						<phase>package</phase>
    						<goals>
    							<goal>assembly</goal>
    						</goals>
    					</execution>
    				</executions>
    			</plugin>
    		</plugins>
    
    
    		<pluginManagement>
    			<plugins>
    				<!--This plugin's configuration is used to store Eclipse m2e settings 
    					only. It has no influence on the Maven build itself. -->
    				<plugin>
    					<groupId>org.eclipse.m2e</groupId>
    					<artifactId>lifecycle-mapping</artifactId>
    					<version>1.0.0</version>
    					<configuration>
    						<lifecycleMappingMetadata>
    							<pluginExecutions>
    								<pluginExecution>
    									<pluginExecutionFilter>
    										<groupId>org.scala-tools</groupId>
    										<artifactId>
    											maven-scala-plugin
    										</artifactId>
    										<versionRange>
    											[2.15.2,)
    										</versionRange>
    										<goals>
    											<goal>compile</goal>
    											<goal>testCompile</goal>
    										</goals>
    									</pluginExecutionFilter>
    									<action>
    										<ignore></ignore>
    									</action>
    								</pluginExecution>
    							</pluginExecutions>
    						</lifecycleMappingMetadata>
    					</configuration>
    				</plugin>
    			</plugins>
    		</pluginManagement>
    	</build>
    
    </project>

    编写测试环境App

    在src/test/java目录下创建scala.test包

    新建EnvTest.scala 类

    package scala.test
    
    import org.junit.Assert
    import org.junit.Test
    
    class EnvTest extends Assert {
      
      @Test
      def helloworld:Unit = {
        println("hello world!")
      }
      
    }

    右击 Run As -- Scala JUnit Test 运行

     

     

    展开全文
  • 利用IntelliJ IDEA与Maven开始你的Scala之旅

    万次阅读 多人点赞 2016-10-23 00:07:25
    此外,本文只介绍了一些最基本的内容,关于IntelliJ IDEA和Maven的更为细致的内容,以及关于如何在本地写一个Spark程序都还没有提到,不着急,后续我会慢慢更新。 Tips: 若上文中有些Gif图看不太清,可以在...

    一. IntelliJ IDEA安装及配置

    1.1 IntelliJ IDEA下载及安装

      首先在 CHOOSE YOUR EDITION 这里选择Community版本,这个版本是免费提供的,对我们的Spark使用来说,用这个版本已经足够了。如下图所示:

      直接点击黑色的 DOWNLOAD 按钮会默认开始下载Windows版本的IntelliJ IDEA,如果需要其他平台的版本,可以点击旁边的 .EXE ,然后在打开的下拉菜单中,选择相应平台即可。

      下载完成后,双击得到的.exe文件(我这里主要以Windows平台为例,下载得到的文件为ideaIC-2016.2.1.exe),开始进行安装,其中所有选项按照默认的即可(其中有一个安装路径的配置,按照普通软件安装的方法自行设置即可,当然使用默认的路径也可以,记住这里的安装路径,后面要用到),一路点击Next,最后点击Finish按钮结束安装过程。

    默认情况下,IntelliJ IDEA并不会在桌面上创建快捷键,我们可以去它的安装目录下的bin文件夹中,找到它的可执行.exe文件,我这里的bin文件夹路径是C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.2.1\bin,在该目录下,你可以找到两个如下的文件:

    idea.exe//对应32位机器
    idea64.exe//对应64位机器

    根据自己电脑是32位还是64位的,进行相应版本的选择,如果怕麻烦,建议在该文件上点击右键,然后选择发送到 –> 桌面快捷方式选项,这样以后在启动的时候,直接在桌面上双击快捷方式即可(如果是细心的读者,其实可以发现,在IDEA安装过程中,其中有一个步骤就是问:需不需要在桌面上创建快捷方式,默认下是不会创建的)。

    选择好32位还是64位的文件后,然后双击运行IntelliJ IDEA,一般来说首次运行,都会碰到如下页面:

    因为IntelliJ IDEA本身都会有一些配置文件,所以这里在询问是否需要导入一个配置文件,这里选择图中标示的选项即可,并点击OK。然后来到如下所示的UI主题选择界面,大多数使用IntelliJ IDEA的开发人员,一般都会毫无例外的选用第二个UI,这种灰黑色的主题简洁大方,给人一种深邃的质感,也确实是很多人选择IntelliJ IDEA的一个重要原因之一,用很多人的话说,写代码都能写出“高潮”来,是否属实,你们试试就知道了。

    1.2 Scala插件的安装

    后续的几个页面按照默认的配置即可,一直Next来到下面的界面。因为我们主要用Scala来写Spark程序,而IntelliJ IDEA需要使用Scala插件来支持Scala,安装方法如下图所示,首先点击Configure,然后点击下拉菜单中的Plugins

    随后打开的页面会显示出IntelliJ IDEA当前已安装的插件列表,现在我们要安装Scala插件,所以点击页面左下方的Install JetBrains plugin...按钮,然后来到安装插件的页面,如果网络正常的话,在页面左上方的搜索框内搜索”scala”,即可出现Scala插件的安装界面,点击右侧页面中的Install进行安装后,可以看到安装的进度条,如下图所示:

    但是如果你在公司内网,这个时候你可能需要配置代理,步骤如下图所示,在图中的Host namePort number中填写公司自己的代理即可,如果需要,在下方的账号和密码框中按情况填写上相应信息。填写完毕,记得先检查一下是否能够正确连上外部网络,可以点击图中的Check connection,输入一个外网的地址,比如http://www.baidu.com/,测试一下代理是否正确配置了。一切正常后,点击OK退出即可。然后按照上一步中不需要配置代理的情况下,进行Scala插件的安装。

    注意:插件安装完了之后,记得重启一下IntelliJ IDEA使得插件能够生效。

    1.3 全局JDK和Library的设置

    因为Scala代码的编写需要依赖JDK,并且以后编写Spark的程序,肯定会用到各种外部Jar包,如果自己手动去下载这些Jar包然后再引入项目,不仅费时费力,而且尤其在多人协作开发一个项目的时候,各种Jar包版本的管理将会变得非常混乱,因此,在这里建议:从一开始就习惯来用Maven对项目依赖到的Jar包进行理(后面会讲到Maven),然而在创建Maven工程的时候,首先便需要指定JDK。

    因此为了后续创建Spark项目(正如上面所说,一方面是Scala本身需要依赖JDK,另一方面用来管理项目构建的Maven,其创建也需要依赖JDK)的时候不用每次都去配置JDK,这里先进行一次全局配置。首先在欢迎界面点击Configure,然后在Project Defaults的下拉菜单中选择Project Structure,如下图所示:

    然后在打开的Default Project Structure界面的左侧边栏选择Project,在右侧打开的页面中创建一个新的JDK选项(一定要本机已经安装过JDK了),如下图所示步骤在下拉菜单中点击JDK后,在打开的对话框中选择你所安装JDK的位置,注意是JDK安装的根目录,不是bin文件夹的目录,如果你对上一篇文章中讲到的JAVA_HOME还很有印象的话,这里的目录就是JAVA_HOME中设置的目录。

    这一步的全局Project JDK设置完毕后,回到欢迎页面。

    除了要依赖JDK之外,Scala的编写肯定也离开不了自身的SDK(全称为Software Development Kit,即软件开发工具包。实际上,JDK就是Java的SDK),我们在IntelliJ IDEA编写Scala的程序的时候,比如要用到Scala自身提供的某个类,比如Seq(暂时不知道不要紧,后续文章会讲到),那IntelliJ IDEA到哪里去找这个Seq呢?只能去Scala自身提供的SDK里面去找,因此各种程序语言的软件开发者,是离不开这些语言的SDK的,Scala也自然不例外。而为了避免每次创建一个Scala工程的时候,都要去设置一遍Scala的SDK,这里做一些全局配置,主要是将Scala SDK引入到项目的Library中,并将其当做默认配置。

    首先,在欢迎页面的右下角点击Configure,然后在Project Defaults的下拉菜单中选择Project Structure,在打开的页面左侧选择Global Libraries,然后在中间一栏中有一个绿色的加号标志 +,点击后在下拉菜单中选择 Scala SDK(如果没有的话,回顾上面的步骤,仔细观察一下是不是有哪些步骤错了,比如Scala的插件没安装成功,本机还未安装Scala,亦或者Scala的bin文件夹路径未能添加到系统的 PATH 环境变量中去等等),然后在打开的对话框中选择系统本身所安装的Scala(即System对应的版本),点击OK确定,这时候会在中间一栏位置处出现Scala的SDK,在其上右键点击后选择Copy to Project Libraries...,这个操作是为了将Scala SDK添加到项目的默认Library中去。整个流程如下面的动图所示。

    二. 创建一个Maven工程

    2.1 创建Maven工程

    上面的安装和配置都完成后,现在可以开始创建一个Maven工程了。

    在欢迎界面点击Create New Project,在打开的页面左侧边栏中,选择Maven,然后在右侧的Project SDK一项中,查看是否是正确的JDK配置项(如果每一步严格按照上文中的步骤操作的话,正常来说这一栏会自动填充的,因为我们之前在1.3中已经配置过了全局的Project JDK了,如果这里没有正常显示JDK的话,可以点击右侧的New...按钮,然后指定JDK安装路径的根目录即可),然后点击Next,来到Maven项目最重要三个参数的设置页面,这三个参数分别为:GroupId, ArtifactIdVersion.

    为了更好的解释这三个字段,用Spark 1.6.2的核心组件的Maven标识符为例来进行讲解。

        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.11</artifactId>
        <version>1.6.2</version>
    • GroupId,可以理解为用来标志你整个项目组的,或者你这些代码属于某一个完整的项目,比如上面的org.apache.spark就可以非常好的来标志Apache的Spark这个项目了。一般来说可以使用倒序的公司网址来作为GroupId,这可以类比为,沿袭了Java项目中使用倒序公司网址来作为Package名称的一个惯例。
    • ArtifactId,一般是用来在整个项目组来标志本项目的,相比GroupId的范围,其概念要稍微小一些,比如spark-core_2.11就非常好的表示出了本项目主要是关于Spark的核心基础组件的,从而能够与Spark其他各种组件或架构很好的区分开来。
    • Version,正如字面意思,就是本项目的迭代版本的信息,如上面的1.6.2.

    现在,比如你的公司名称叫做abc,然后你的项目组叫做test,那就可以使用com.abc.test来作为GroupId,然后将ArtifactId取做myFirstProject,版本号就使用它默认的就好了(当然,如果你的项目以后有迭代更新版本的话,这个是需要按照实际情况进行改动的)。这三个字段设置完毕后,点击Next,来到项目名称设置页面,一般可以和ArtifactId字段保持一致,当然也可以不一致,这个只是为了给本项目取个名字而已。

    整个流程如下面的Gif动图所示。

    2.2 属于你的”Hello World!”

    在上一步中,我们已经创建了一个Maven工程,不出意外的话,这个时候会打开这个项目,并且首先映入眼帘的将是项目的 pom.xml 文件(暂时不清楚的不要紧,后面会讲到),细心如你,一定可以惊奇的发现 pom 文件中居然有我们刚才设置的 GroupId, ArtifactIdVersion 这些信息(如下),这些信息相当于就给了本项目一个唯一的标识符,有了这个标识符,别人将会在浩如烟海的Maven仓库中,一眼识别到你(本段话有装B嫌疑,不懂的话请暂时忽略)。

        <groupId>com.abc.test</groupId>
        <artifactId>myFirstProject</artifactId>
        <version>1.0-SNAPSHOT</version>

    好,现在开始要真正在这个Maven项目中创建一个属于自己的Scala程序了,在开干之前,为了给Scala营造一个顺利的环境,有几件事需要先做。下面我将分点罗列如下:

    • 首先,为了让你的首次体验Scala更清爽一些,将一些暂时无关的文件和文件夹都勇敢的删除掉吧,主要有 main\java, main\resourcestest 这三个;
    • 将Scala的框架添加到这个项目中,方法是在左侧栏中的项目名称上右键菜单中点击Add Framework Support...,然后在打开的对话框左侧边栏中,勾选Scala前面的复选框,然后点击确定即可(前提是上文中所述步骤都已正确走通,否则你很有可能看不到Scala这个选项的);
    • 在main文件夹中建立一个名为 scala 的文件夹,并右键点击 scala 文件夹,选择 Make Directory as,然后选择Sources Root ,这里主要意思是将 scala 文件夹标记为一个源文件的根目录,然后在其内的所有代码中的 package ,其路径就从这个根目录下开始算起。举个例子,假如你在 scala 文件夹中建立了一个程序,这个程序的 package 属性为 com.abc.test,那么这个程序就一定要保存在 scala\com\abc\test 目录下,否则项目就找不到这个程序了;
    • 在已经标记好为源文件根目录的 scala 文件夹 上,右键选择 New,然后选择 Scala Class,随后设置好程序的名称,并且记得将其设置为一个 Object(类似于Java中含有静态成员的静态类),正常的话,将会打开这个 Object 代码界面,并且可以看到IntelliJ IDEA自动添加了一些最基本的信息;
    • 在创建的 Object 中输入如下语句:
    def main(args: Array[String]):Unit = {
      println("Hello World!")
    }
    • 在程序界面的任意位置,右键单击后选择 Run '你的程序名称',静待程序的编译和运行,然后在下方自动打开的窗口中,你就可以看到振奋人心的 Hello World!了。

    整个流程的Gif动图已经做好,双手奉上。

    三. 小结

    至此,整个的IntelliJ IDEA安装与配置,以及基本的Maven工程创建流程,就全然结束了,写的比较啰嗦,一个很简单的IDE使用问题,嚼了这么多口舌,不过啰嗦之外,若果真对各位好学的你们,有稍稍的竟然之外的益处,那也就不枉我这么苦逼的制作这些Gif动图了。

    此外,本文只介绍了一些最基本的内容,关于IntelliJ IDEA和Maven的更为细致的内容,以及关于如何在本地写一个Spark程序都还没有提到,不着急,后续我会慢慢更新。

    Tips:

    若上文中有些Gif图看不太清,可以在这些图上点击右键,并选择”在新标签页中打开图片”(在Chrome中,是这个选项,可能不同浏览器中的说法不一样,不过相信一定难不到你),然后将这个图片在新的浏览器窗口打开后,就会变大一些,从而看的也更清楚一些了。

    参考

    1. https://github.com/judasn/IntelliJ-IDEA-Tutorial(非常好的IntelliJ IDEA教程)
    展开全文
  • 美图欣赏: 一.背景: 二.创建maven工程 三.去Maven官网,添加Scala的pom依赖 四.添加Scala必要设置步骤 五.环境配置好了,测试 六.恭喜你搭建完成

    美图欣赏:

    在这里插入图片描述

    一.背景:

    当我第一次使用IDEA是跟着网上教学视频学的,由于刚开始不太熟悉,导致自己创建的项目在文件夹中很乱。其中好多步骤都是按网上视频按部就班操作的,当然也有很多不明白的地方。用了一段时间,自己慢慢的清楚了。下面自己会写如何创建一个有条理,全新完整Maven的Scala项目工程。
    在此写下博客,供有需要的人参考,希望会有所帮助

    二.创建maven工程

    1.这是刚安装好IDEA,全新的界面。
    在这里插入图片描述
    2.点击,下图红色箭头按钮, 然后next
    在这里插入图片描述
    3.起组名,和主题名字,然后next
    在这里插入图片描述
    4.选择项目的名字,选择项目存放的位置,然后next。在这里插入图片描述
    5.这样就创建好了,需要点击红色箭头那里,自动导包。

    这里创建的是scala工程,需要添加scala对应版本的pom文件在这里插入图片描述

    三.去Maven官网,添加scala的pom依赖

    1.点击Maven
    在这里插入图片描述
    2.搜索scala,并点击红色箭头
    在这里插入图片描述
    3.点击红色箭头,选择自己对应安装的Scala版本在这里插入图片描述
    4.复制红色箭头里面的pom文件内容
    在这里插入图片描述
    5.添加到pom中,注意:前面需要加内容
    在这里插入图片描述

    四.添加scala必要设置步骤

    检查设置本地Maven仓库(如果你之前就已经设置了IDEA本地Maven的路径配置,可跳过这一步)

    1.File -> Settings -> Build,Execution,Deployment ->Build Tools -> Maven -> 修改相关信息 -> Apply -> ok
    在这里插入图片描述

    2.建一个scala目录,方便代码存放和区分
    在这里插入图片描述
    3.File—>Project Structure—>Modules, 然后点击Sources,Scala目录就可以用了
    点击红色箭头,然后下一步

    在这里插入图片描述
    4.File—>Project Structure—>Libraries ,然后需要添加Scala SDK,也就是Scala的环境。点击红色箭头,然后下一步
    在这里插入图片描述
    5.点击红色箭头,然后下一步
    在这里插入图片描述

    6.从5下一步,然后就是下面这个界面。选择Scala的安装包,点击OK。
    在这里插入图片描述

    五.环境配置好了,现在测试。

    测试代码:

    package Jackson
    
    object day01 {
      def main(args: Array[String]): Unit = {
        println("hello scala")
      }
    
    }
    
    

    运行结果:
    在这里插入图片描述

    六.恭喜你搭建完成。

    哪个地方如有问题,欢迎大家指出,很是感谢。

    想要一起学习交流可以加我个人微信号:方便备注下来自csdn
    在这里插入图片描述

                                               ————保持饥饿,保持学习
                                                      Jackson_MVP
    
    展开全文
  • 如何一步一步地在Intellij IDEA使用Maven搭建spark开发环境,并基于scala编写简单的spark中wordcount实例。 1.准备工作  首先需要在你电脑上安装jdk和scala以及开发工具Intellij IDEA,本文中使用的是win7系统,...
  • idea spark scala maven环境搭建

    千次阅读 2018-04-19 00:00:22
    2.IDEA Maven工程创建与配置1)配置maven2)新建Project项目3)选择maven骨架4)创建项目名称5)选择maven地址6)生成maven项目7)选择scala版本8)新建Java 和scala目录9)编辑pom.xml文件3.开发Spark Application...
  • 本文先叙述如何配置eclipse中maven+scala的开发环境,之后,叙述如何实现spark的本地运行。最后,成功运行scala编写的spark程序。   刚开始我的eclipse+maven环境是配置好的。 系统:win7 eclipse版本:Luna ...
  • 期间报各种错,进度也被耽误了…archetype和pom部分引用他人的,可惜调试的太多,没有记录下作者,这里歉意+感谢.环境: Hadoop–>2.6.4 Scala–>2.11.8 Spark–>2.2.0IDE, eclipseEE + scalaIDE插件–>oxygen:...
  • idea + maven + Scala 的导入和使用问题

    千次阅读 2019-09-03 22:28:57
    idea + maven + Scala 的导入和使用问题 突然发现一直使用的是Scala项目的形式:新建项目 -> Scala 而不是我以为的Maven形式,想换过来。 之前是别人给的pom文件,没想到自己想当然做的过程中遇到很多问题。 常用...
  • 为了学习spark,在mac上使用eclipse创建包含scalamaven工程,并打包至于服务器运行。 1.1 hadoop安装安装hadoop2.6.0,参考博客1.2 spark下载下载spark-1.6.0-bin-hadoop2.6.tgz,在官网下载,在 choose a ...
  • 目录 1.在IDEA中新建Project-->Maven-->Next 2.GroupId一般写公司统一名称,ArtifactId写项目名称 -->...6.打开conf中的settings.xml,修改本地仓库路径 7.在IDEA中打开File-->sett...
  • 参考:spark开发环境搭建(基于idea 和maven) 安装JDK 从这里下载Java 8的JDK 设置JAVA_HOME环境变量,在Mac上它大概会是/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/这个样子 我选择的是...
  • Flink程序打包 maven配置(scala版本)

    千次阅读 2018-10-31 13:46:34
    在IDEA中开发Flink程序时,如果把Flink核心依赖包的scope设置为provided,测试会报NoClassDefFountError,但如果设置为compile,打包时核心包也会被打进去。一来包会很大,二来可能会引发jar包冲突,很不方便。 ...
  • IntelliJ IDEA使用笔记—— 创建Maven Scala项目IDEA Maven Scala项目pow.xml文件配置删除java包,新建scala包新建Scala class 编写代码编写SparkWordCount代码使用Alt+Enter快捷键自动导包IDEA 运行/调试配置添加/...
  • 如何一步一步地在Intellij IDEA使用Maven搭建spark开发环境,并基于scala编写简单的spark中wordcount实例。 1.准备工作  首先需要在你电脑上安装jdk和scala以及开发工具Intellij IDEA,本文中使用的是win7系统,...
  • 新建一个Maven项目,开开心心地写完scala程序,在本地调试没什么问题,要打包部署在spark集群上运行的时候却出错了,说找不到主类java.lang.ClassNotFoundException: neu.WordCount at java.net.URLClassLoader....
  • 说明,由于spark是用scala写的。因此,不管是在看源码还是在写spark有关的代码的时候,都最好是用scala。由于我个人以前是纯粹的Pythoner,一直使用的都是PyCharm,然而最近换了新工作后,由于各种原因,要么使用...
  • 关于这个问题是研一开学时候遇见的,那时候把它记录在本地word中,后来转到自己搭建的博客,由于服务器问题后来使用了csdn博客,今天碰巧看到...首先安装Idea,安装scala插件,配置maven这个都比较简单,配置到好可能就
  • 此外,本文只介绍了一些最基本的内容,关于IntelliJ IDEA和Maven的更为细致的内容,以及关于如何在本地写一个Spark程序都还没有提到,不着急,后续我会慢慢更新。 Tips: 若上文中有些Gif图看不太清,可以在...
  • 已有hadoop yarn 和 spark 集群部署、运行在分布式环境中,程序开发编码在PC上,由于逐渐增多scala编写spark2.0程序,入乡随俗使用sbt和IntelliJ Idea,顺便对PC上的Scala + sbt + maven + IntelliJ Idea一些要注意...
  • 下载IDEA插件 ...引入编译Scala对应的maven插件 <build> <pluginManagement> <plugins> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>sca
  • 一、配置eclipse + maven + scala环境 1. 在Eclipse Market中安装Scala IDE、Maven     2. 安装m2e-scala(图中的url是:http://alchim31.free.fr/m2e-scala/update-site/)   二、测试eclipse...
  • IDEA作为常用的开发工具使用maven进行依赖包的统一管理,配置Scala的开发环境,进行Spark Streaming的API开发; 1、下载并破解IDEA,并加入汉化的包到lib,重启生效; 2、在IDEA中导入离线的Scala插件:首先...
  • 工具和环境 idea2018.1 , scala2.11.8, scala的idea支持包,...下载解压maven包,(也可以使用idea自带的,其目录:\IntelliJ IDEA 2018.1\plugins\maven\lib\maven3) 配置环境变量 新建repository目录作为本...
  • 这个是在生产环境中测试spark,虽然在spark-shell上测试的比较多,但是这样的我们也得会呀,关键是idea不平凡呀,这么好的软件不好好利用,好了,走程序,我们在idea中编写好程序然后打成jar包,最后提交到集群hdfs...
  • 现在maven-java版本学习资料居多,我根据java版本、官网来学校scala版本。 已有的三台测试服务器:/opt/app 目录下,下面来部署Flink1.12.0 1、安装部署 flink部署分为[local本地模式、Standalone独立集群模式、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,047
精华内容 2,018
关键字:

mavenscala本地调试