wordpress对网站排名,wordpress 好seo吗,网站排名消失,qq群推广拉人在开始之前#xff0c;需要说明的是 要跑通基本的wordcount程序#xff0c;是不需要在windows上安装 hadoop 和spark的#xff0c;因为idea在跑程序的时候#xff0c;会按照 pom.xml配置文件#xff0c;从指定的 repository源#xff0c;按照properties指定的版本#x…在开始之前需要说明的是 要跑通基本的wordcount程序是不需要在windows上安装 hadoop 和spark的因为idea在跑程序的时候会按照 pom.xml配置文件从指定的 repository源按照properties指定的版本下载dependency中指定的依赖包 。 如果需要在本地通过 spark-shell或者 运行开发完的包那么就需要完整的hadoop 和spark环境就需要把这两个都安装好。
我是新入门之前idea建立spark项目是同事指导着创建的但是过了一段时间具体步骤都不记得了所以试着自己重新建立一个新的spark项目算是熟悉一下IDEA这个工具吧。
参考文档写的很详细
Windows平台搭建Spark开发环境Intellij idea 2020.1社区版Maven 3.6.3Scala 2.11.8_windows下安装scalahadoopspark运行环境,集成到idea中-CSDN博客
1. 需要安装的软件及版本 jdk1.8-1.8.0_25 Scala:Scala code runner version 2.11.12 Intellij idea 2019.2.3community edition Mavenapache-maven-3.6.3
2.配置环境变量 及 验证 配置环境变量过程中 前面的是 变量名如 JAVA_HOME后面是变量的值C:\Program Files\Java。 1. java 新增系统环境变量JAVA_HOME C:\Program Files\Java PATH 中增加C:\Program Files\Java\jdk1.8.0_91\bin 和 C:\Program Files\Java\jre1.8.0_91\bin CLASSPATH 中要增加.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar; 验证是否安装成功文字是粘的别人的代码是我本机运行的
C:\Users\brayden.liujava -version
java version 1.4.2_03
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode) 2.Scala 新增系统环境变量SCALA_HOME C:\Program Files (x86)\scala PATH 中增加%SCALA_HOME%\bin 验证
C:\Users\brayden.liuscala -version
Picked up JAVA_TOOL_OPTIONS: -Djava.vendorSun Microsystems Inc.
Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL 3.Maven 原文是 Maven下载后解压到了D:\spark_study 删除了 apache-maven-3.6.3-bin目录路径为D:\spark_study\apache-maven-3.6.3 我记得我安装时候就是直接解压缩放到D:\dev_home\apache-maven-3.6.3,好像也能用 注意一下操作 新增系统环境变量MAVEN_HOME D:\spark_study\apache-maven-3.6.3 新增系统环境变量MAVEN_OPTS -Xms128m -Xmx512m CLASSPATH 中要增加%MAVEN_HOME%\bin 设置 本地maven 仓库 的路径为D:\spark_study\localWarehouse这个路径就是用来存放下载各种依赖包的。如果采用idea默认的Maven那么仓库地址一般是 C:\Users\用户名\.m2 建议自己设置路径而非采用默认的路径。 重点 打开 D:\dev_home\apache-maven-3.6.3\conf\settings.xml在文件中添加 localRepositoryD:\spark_study\localWarehouse/localRepository 后面加载maven的时候可以联动带出本地仓库 接下来设置 国内maven仓库 如阿里仓库后面就会从这个镜像地址下载依赖包速度会更快。
在 mirrors标签中添加 mirror idnexus-aliyun/id mirrorOfcentral/mirrorOf nameNexus aliyun/name urlhttp://maven.aliyun.com/nexus/content/groups/public/url /mirror 验证靠后面有异常但是好像不影响使用
C:\Users\brayden.liumvn -V
Picked up JAVA_TOOL_OPTIONS: -Djava.vendorSun Microsystems Inc.
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: D:\dev_home\apache-maven-3.6.3\bin\..
Java version: 1.8.0_251, vendor: Sun Microsystems Inc., runtime: C:\Program Files\Java\jdk1.8.0_251\jre
Default locale: zh_CN, platform encoding: GBK
OS name: windows 10, version: 10.0, arch: amd64, family: windows
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.161 s
[INFO] Finished at: 2023-12-08T15:10:3108:00
[INFO] ------------------------------------------------------------------------
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format plugin-prefix:goal or plugin-group-id:plugin-artifact-id[:plugin-version]:goal. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. - [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException3.配置intellij idea 1.安装软件 特别需要注意的是 这里只是安装社区版没有安装专业版因为社区版也够用了。 另外如果用专业版特别是来回安装了多次会出现 安装完后双击打开没有反应的问题需要把 C:\Users\用户名\.IntelliJIdea版本号 这个目录底下的文件全部删除。 注意勾选红色框部分然后一步一步安装就行。 图片是我粘的和我本机大差不差吧 2、安装scala插件
通过菜单 File -》Settings 进入如下页面然后输入 scala 找到要安装的插件点击 安装。按照提示需要重启 IDE。
如果你已经下载了好像可以本地安装我是早就安装好了的所以不太记得了。 如果 显示找不到插件可以通过 点击 Auto-detect proxy settings 来设置代理注意 这里并不需要输入具体的url点击保存。 3、配置java、scala、maven 重点这里是重点 通过菜单 File -》Project Structure 进入页面进行设置 Global Libraries 点击 号选择 Scala SDK 通过菜单 File-》Settings -》 Build,Exection,Deployment -》 Build Tools -》 Maven进入页面要修改 Maven home directoryUser settings fileLocal repository最后点击 OK 保存。
这里采用 手动安装的Maven 3.6.3版本而非idea自带的Maven同时指定相应的 settings.xml文件、Maven仓库的路径。
图片是我粘的别人的文档我的也差不多另外别忘了左边的勾选框 在IEDA中设置apache
file-settings-Build,Execution,Deployment-build Tools-maven maven home directory:本机的maven的位置 我的是在D:/dev_home/apache-maven-3.6.3 User settings file:maven的设置文件位置是在maven home directory路进下 我的是在D:\dev_home\apache-maven-3.6.3\conf\settings.xml 记得后边的Override勾选框勾上 Loca repository:本地jar仓库位置 我的是在E:\repository--这个由于前面在maven中设置了所以这里自动带出来了很好。
然后 继续点击 Maven 左侧的向右的三角形展开子菜单点击 Importing 再勾选 红色框的3个 复选框点击 OK 保存。
这里不知道具体是干啥的我的软件只有前两项感觉勾不勾差不多 4.intellij idea中新建项目
File -》New -》Project注意 不要勾选 “Create from archetype”这里是重点用了后运行程序会报一些莫名其妙的错误因为 scala-archetype-simple:1.2 版本太低会有很多问题也就是上面下载的 插件并没有排上用场这也是试了很多次才发现的。。。
图片依然是粘的别人的我都和这个有些不同但是大差不差
修改pom.xml文件在 /project 前面增加 依赖项
这个pom是我本机的不太明白都是干啥的所以查了文档加了一些备注后面再逐步明细吧
?xml version1.0 encodingUTF-8?project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!--groupId(组织的ID)表示当前模块所属于的项目artifactId模块的ID,如果是项目级的那就是项目名version当前的版本--groupIdtestNewProject1/groupIdartifactIdtestNewProject1/artifactIdpackagingpom/packagingversion1.0-SNAPSHOT/version!--modules这里需要在file-project structure里面建立一个新的modules并且在他下面建立一个pom这里指定后本pom的参数可以被scala继承--modulesmodulescala/module/modules!--properties全局属性一般情况下同于定义全局的jar包的版本作用比如在properties中定义版本ljy.version4.3.12/ljy.version那么在对于的依赖下添加${ljy.version}在properties中改了 后面对应的依赖版本也跟着改了方便在依赖的version中altctrlv快速提取--propertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingencodingUTF-8/encodingjava.version1.8/java.versionscala.version2.11.12/scala.versionmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.targetcdh.version3.3.0-cdh6.3.1/cdh.versionhadoop.version3.3.0/hadoop.versionhbase.version2.1.0/hbase.versionhive-jdbc.version2.1.1/hive-jdbc.versionspark2.version2.4.0/spark2.versionspark.version2.4.0/spark.versionmaven.version3.3/maven.versionparquet.version1.0.0-cdh6.3.1/parquet.versionhbase-spark.version2.1.0-cdh6.3.1/hbase-spark.versionkafka.version0.11.0.1/kafka.versionhive.version2.1.1/hive.versionkudu-client.version1.10.0-cdh6.3.1/kudu-client.versionconfig.version1.2.1/config.versionzkclient.version0.10/zkclient.versionguava.version18.0/guava.versionredis.version2.8.2/redis.versionmysql.version5.1.34/mysql.versionojdbc.version11.1.0.7.0/ojdbc.versionjunit.version3.8.1/junit.versionfast.version1.2.62/fast.versionjcommander.version1.71/jcommander.version/propertiesbuildpluginManagement!--plugins配置插件是一种工具--pluginsplugingroupIdnet.alchim31.maven/groupIdartifactIdscala-maven-plugin/artifactIdversion3.2.1/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion2.3.1/version/plugin/plugins/pluginManagement/build!--repositories用来配置当前工程使用的远程仓库依赖查找的顺序本地仓库——当前工程pom.xml中配置的远程仓库——setting.xml中配置的远程仓库spring为例url 是spring官方地址--repositoriesrepositoryidapache.snapshots/idnameApache Snapshot Repository/nameurlhttps://repository.apache.org/content/repositories/snapshots//url/repositoryrepositoryidcdh.repo/idnameCloudera Repositories/nameurlhttps://repository.cloudera.com/artifactory/cloudera-repos/urlsnapshotsenabledfalse/enabled/snapshots/repositoryrepositoryidscala-tools.org/idnameScala-tools Maven2 Repository/nameurlhttp://scala-tools.org/repo-releases/url/repository/repositoriespluginRepositoriespluginRepositoryidscala-tools.org/idnameScala-tools Maven2 Repository/nameurlhttp://scala-tools.org/repo-releases/url/pluginRepositorypluginRepositoryidcloudera-repos/idnameCloudera Repos/nameurlhttps://repository.cloudera.com/artifactory/cloudera-repos//url/pluginRepository/pluginRepositories!--dependencies模块的依赖信息scope作用域,具体指含义如下compile:该依赖可以在整个项目中使用参与打包部署默认值如commons-fileuploadtest:该依赖只能在测试代码中使用并且不参与打包部署的如junitprovided:该依赖编写源代码时需要不参与打包部署如servlet-api、jsp-apiruntime:该依赖编写代码时不需要运行时需要参与打包部署如mysql-connectorsystem:表示使用本地系统路径下的jar包需要和一个systemPath一起使用如ojdbc.jar--dependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion3.8.1/versionscopetest/scope/dependency!--dependencygroupIdcom.alibaba.otter/groupIdartifactIdcanal.client/artifactIdversion1.0.25/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion2.5.6/version/dependency--!--dependencygroupIdorg.apache.kudu/groupIdartifactIdkudu-client/artifactIdversion1.10.0-cdh6.3.1/version/dependency--dependencygroupIdorg.apache.spark/groupIdartifactIdspark-core_2.11/artifactIdversion${spark2.version}/version!-- scoperuntime/scope --/dependencydependencygroupIdorg.apache.spark/groupIdartifactIdspark-sql_2.11/artifactIdversion${spark2.version}/version!-- version2.2.0/version --/dependencydependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion${fast.version}/version/dependency!-- hive impala --dependencygroupIdorg.apache.hive/groupIdartifactIdhive-jdbc/artifactIdversion1.2.1/versionexclusionsexclusiongroupIdorg.eclipse.jetty.aggregate/groupIdartifactIdjetty-all/artifactId/exclusionexclusiongroupIdorg.apache.hive/groupIdartifactIdhive-shims/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.mongodb.spark/groupIdartifactIdmongo-spark-connector_2.11/artifactIdversion2.3.0/version/dependencydependencygroupIdorg.mongodb/groupIdartifactIdmongo-java-driver/artifactIdversion3.8.0/version/dependencydependencygroupIdorg.mongodb/groupIdartifactIdcasbah_2.10/artifactIdversion3.1.1/versiontypepom/type/dependencydependencygroupIdorg.apache.spark/groupIdartifactIdspark-hive_2.11/artifactIdversion2.4.0/version/dependencydependencygroupIdorg.apache.hive/groupIdartifactIdhive-exec/artifactIdversion2.1.1/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.46/version/dependencydependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.6/version/dependencydependencygroupIdcom.crealytics/groupIdartifactIdspark-excel_2.11/artifactIdversion0.12.2/version/dependency/dependencies/project然后 右键项目中的 pom.xml 文件 -》Maven -》reload project 下载依赖包 5.编写WordCount代码
右键 Main 目录 -》 New -》 Directory 目录名称为 scala
右键 scala 目录 -》Make Directory as -》Generate Sources Root 右键 scala 目录-》New -》scala class -》 object 名称为WordCoun
这里有个诡异的事情我右键后找不到scala的创建然后使用file创建了个文件文件名后缀.scala执行后删除该文件再右键新建的时候可以创建scala的object了很神奇 6.出现的异常
1. 报错Exception in thread main java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
写了一个scala来测试项目是否正常主体逻辑是连接oracle查询一个表展示到工作台
但是报错
Exception in thread main java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
很奇怪之前项目里面是可以正常使用的但是新的不行对比了以下发现新项目的External Libraies中没有Oracle
试了手动在Project structure中导入刷新Libraries等依然报错。
并且发现本地仓库中有这个Oracle驱动类的。
最后想到是不是pom中没加手动加上idea自动导入到了Libraries程序可以正常运行了。
所以可见External Libraries中的类是根据pom来导入的。 dependencygroupIdcom.oracle/groupIdartifactIdojdbc6/artifactIdversion11.1.0.7.0/version/dependency
说一下猜测 com.oracle是该类的路径 ojdbc6类名但是时间上也是路径下的文件夹 11.1.0.7.0版本感觉也是类名下的文件夹 因为这个驱动jar就是放在这个路径下的 E:\repository\com\oracle\ojdbc6\11.1.0.7.0 而 E:\repository 这个路径是我在file-setting-Build,Execution,Deployment-Build Tool-Maven的Local repository中设置的