体育资讯网

您现在的位置是:首页 > 分类11 > 正文

分类11

spark源码编译过程(Spark编程基础)

hacker2022-07-03 20:17:15分类1147
本文目录一览:1、怎么用Eclipse搭建Spark源码阅读环境2、

本文目录一览:

怎么用Eclipse搭建Spark源码阅读环境

第一部分、软件安装

1、 安装JDK (版本为1.7.0_11)

2、 安装Scala (版本为2.11.2)

3、 安装ScalaIDE(版本为3.0.4)

第二部分:加压缩官网下载的源代码包或者找到通过Git抽取的Spark源文件:

我用的是spark-1.1.1版本(最新版本),由于idea 13已经原生支持sbt,所以无须为idea安装sbt插件。

源码下载(用git工具):

# Masterdevelopment branch

gitclone git://github.com/apache/spark.git

# 1.1 maintenancebranch with stability fixes on top of Spark 1.1.1

gitclone git://github.com/apache/spark.git -b branch-1.1

源码更新(用git工具同步跟新源码):

gitclone

第三部分:通过sbt工具,构建Scala的Eclipse工程,详细步骤如下所示

1、通过cmd命令进入DOS界面,之后通过cd命令进入源代码项目中,我下载的Spark.1.1.1版本的源代码放在(E:\Spark计算框架的研究\spark_1_1_1_eclipse)文件夹中,之后运行sbt命令,如下所示:

2、运行sbt命令之后,解析编译相关的jar包,并出现sbt命令界面窗口,出现的效果图如下所示,之后运行eclipse命令,sbt对这个工程进行编译,构建Eclipse项目,效果图如下所示:

4、 打开ScalaIDE工具,File à Import à Existing Projects into Workspace à

Next à

选择刚好用sbt工具编译好的Eclipse工程(E:\Spark计算框架的研究\spark_1_1_1_eclipse),如下图所示。

5、 通过上面的操作,就可以将通过sbt工具编译生成的Eclipse项目导入到EclipseIDE开发环境中,效果图如下所示:

错误提示如下所示:我导入的包为,如下文件夹中所示。

(E:\Spark计算框架的研究\spark_1_1_1_eclipse\lib_managed\bundles)

Description Resource Path Location Type

akka-remote_2.10-2.2.3-shaded-protobuf.jar is cross-compiled

with an incompatible version of Scala (2.10).

In case of errorneous report, this check can be disabled

in the compiler preference page.

spark-core Unknown Scala Classpath Problem

Description Resource Path Location Type

akka-slf4j_2.10-2.2.3-shaded-protobuf.jar is cross-compiled with

an incompatible version of Scala (2.10). In case of errorneous report,

this check can be disabled in the compiler preference page.

spark-core Unknown Scala Classpath Problem

Description Resource Path Location Type

akka-testkit_2.10-2.2.3-shaded-protobuf.jar is cross-compiled

with an incompatible version of Scala (2.10).

In case of errorneous report, this check can be disabled in the compiler preference page.

spark-core Unknown Scala Classpath Problem

Description Resource Path Location Type

akka-zeromq_2.10-2.2.3-shaded-protobuf.jar is cross-compiled

with an incompatible version of Scala (2.10).

In case of errorneous report, this check can be disabled in the compiler preference page.

spark-core Unknown Scala Classpath Problem

上面这些包兼容性问题还没有解决,修改相应的jar包就可以解决。

怎么编译spark-streaming-flume

storm是实时处理,spark和hadoop是批处理,两者是互补。在Hadoop2.0之后,hadoop使用了新的yarn框架,map/reduce只是其中一种默许了,spark也可以在hadoop的yarn框架下运行的,所以2者还会是融合的。

spark还有与storm相同功能的 Spark Steaming,实时处理流式数据。可以顺着Hadoop - spark - spark Steaming一路学下去,storm是否学习,你可以自己选择下。如果有相同功能的spark Steaming,肯定是学习spark Steaming啦。

如果我的回答没帮助到您,请继续追问。

想研读下spark的源码,怎么搭阅读和调试的环境

(1)准备工作

1) 安装JDK 6或者JDK 7

2) 安装scala 2.10.x (注意版本)

3) 将下载的Intellij IDEA解压后spark源码编译过程,安装scala插件spark源码编译过程,流程如下:

依次选择“Configure”– “Plugins”– “Browse repositories”spark源码编译过程,输入scala,然后安装即可

(2)搭建Spark源码阅读环境(需要联网)

第一种方法是直接依次选择“import project”– 选择spark所在目录 – “SBT”,之后intellij会自动识别SBT文件,并下载依赖的外部jar包,整个流程用时非常长,取决于机器的网络环境(不建议在windows下操作,可能遇到各种问题),一般需花费几十分钟到几个小时。注意,下载过程会用到git,因此应该事先安装了git。

第二种方法是首先在linux操作系统上生成intellij项目文件,然后在intellij IDEA中直接通过“Open Project”打开项目即可。在linux上生成intellij项目文件的方法(需要安装git,不需要安装scala,sbt会自动下载)是:在spark源代码根目录下,输入sbt/sbt gen-idea

注:如果spark源码编译过程你在windows下阅读源代码,建议先在linux下生成项目文件,然后导入到windows中的intellij IDEA中。

(3)搭建Spark开发环境

在intellij IDEA中创建scala project,并依次选择“File”– “project structure” – “Libraries”,选择“+”,将spark-hadoop 对应的包导入,比如导入spark-assembly_2.10-0.9.0-incubating-hadoop2.2.0.jar(只需导入该jar包,其spark源码编译过程他不需要),如果IDE没有识别scala 库,则需要以同样方式将scala库导入。之后开发scala程序即可:

编写完scala程序后,可以直接在intellij中,以local模式运行,方法如下:

点击“Run”– “Run Configurations”,在弹出的框中对应栏中填写“local”,表示将该参数传递给main函数,如下图所示,之后点击“Run”– “Run”运行程序即可。

如果想把程序打成jar包,通过命令行的形式运行在spark 集群中,可以按照以下步骤操作:

依次选择“File”– “Project Structure” – “Artifact”,选择“+”– “Jar” – “From Modules with dependencies”,选择main函数,并在弹出框中选择输出jar位置,并选择“OK”。

最后依次选择“Build”– “Build Artifact”编译生成jar包。

发表评论

评论列表

  • 南殷友欢(2022-07-04 00:36:59)回复取消回复

    eIDE开发环境中,效果图如下所示:错误提示如下所示:我导入的包为,如下文件夹中所示。(E:\Spark计算框架的研究\spark_1_1_1_eclipse\lib_managed\bundles)Description Resource Path Location

  • 丑味旧竹(2022-07-03 23:48:21)回复取消回复

    文件夹中所示。(E:\Spark计算框架的研究\spark_1_1_1_eclipse\lib_managed\bundles)Description Resource Pat