- 时间:2021-02-11 17:15 编辑:林正豪 来源:蚂蚁资源 阅读:190
- 扫一扫,手机访问
摘要:大家好,今天给大家介绍关于spark源码(spark官网)的相关内容,详细讲解想研读下spark的源码,怎么搭阅读和调试的环境,spark 源码入口类是哪个类,查看spark源码 为什么要编译等,希望可以帮助到您。
想研读下spark的源码,怎么搭阅读和调试的环境,在线搜索,董西城的博客(1)准备以下10)准备JDK 6或JDK 72)安装Scala 2.10.x(注意版本)3)下载的Intellij Idea被解压缩后,安装Scala插件,过程如下:选择“配置” - >“插件” - >“浏览存储库”,输入Scala,然后安装(2)设置火花源阅读环境(需要网络)第一个方法是选择“导入项目”“ - >选择Spark“>”SBT“,然后Intellij自动标识SBT文件,下载依赖外部jar包,整个过程很长,根据机器的网络环境(不推荐在Windows下,可能会为各种问题),通常需要几分钟到几个小时。请注意下载procESS将用于GIT,因此GIT应提前安装。第二种方法是首先在Linux操作系统上生成Intellij项目文件,然后通过Intellij Ideage的“开放式项目”直接打开项目。在Linux上生成Intellij项目文件(需要安装Git,您无需安装Scala,SBT将下载)是:在Spark源代码根目录中,输入SBT / SBT Gen-Idem Note:如果您阅读Windows代码下的源,建议在Linux下生成一个项目文件,然后在Windows中导入Intellij Idea。 (3)建造的Spark开发环境在Intellij Ideag中创建Scala项目,选择“文件” - >“项目结构” - >“Libraries”,选择“+”,介绍Spark-Hadoop,如导入火花 - Assembly_2.10- 0.9.0-I.ncubating-hadoop2.2.2.0.jar(只导入jar包,其他不必要的),如果IDE未被标识,则需要以相同的方式导入Scala库。在开发Scala程序之后:在编写Scala程序后,您可以直接在Intellij中运行,并且该方法在本地模式下运行:单击“Run” - >“运行配置”,填写相应列中的“本地”弹出框,指示参数传递给主函数,如下图所示,然后单击“运行” - >“运行”以运行该程序。如果要将程序置于JAR包中,请以命令行的形式在Spark集群中运行,您可以按照以下步骤操作:选择“文件” - >“项目结构” - >“Artifact”,选择“ +“ - >”jar“ - >”从依赖性的模块中“,se选择主函数并在弹出框中选择输出jar位置,然后选择“确定”。最后,选择“构建” - >“构建工件”生成JAR包。
spark 源码入口类是哪个类,写Linux脚本#! / bin / shif [$#-lt 2];然后“用户:$ 0 $ 1”EXITELSEECHO“WordCount正在启动!” Spark-Supplic \ - Master Spark:// Spark:7077 \类WordCount \ - executor-Memory 512M \ - Total-Executor-Cores 6 \〜/输入/ WordCount.jar \“$ 1”\“$ 2”回声“WordCount停止了!” FI图标
查看spark源码 为什么要编译,建议您在Spark目录中使用Intellij Idem来执行“SBT / SBT Gen-Idea”,自动生成.IDEA项目,进口
责任编辑(
林正豪)
以上就是关于**spark源码,spark官网**的全部内容,了解更多请关注蚂蚁资源网。
- 黑客帝国
- 怎么在Idea IDE里面打开Spark源码而不报错,首先我们先点击一个工程的Project Structure菜单,这时候会弹出一个对话框,仔细的用户肯定会发现里面列出来的模块(Module)居然没有yarn!就是这个原因导致yarn模块相关的代码老是报错!只需要将yarn模块加入到这里即可。步骤依次选择 Add->Import Module->选择pom.xml,然后一步一步点击确定,这时候会在对话框里面多了spark-yarn_2.10模块, 然后点击Maven Projects里面的Reimport All Maven Projects,等yarn模块里面的所有依赖全部下载完的时候,我们就可以看到这个模块里面的代码终于不再报错了!!
- 2021-02-11 17:15:28
- Lu珊Han
- SparkSQL主要的推动者是Databricks。提到SparkSQL不得不提的就是Shark。Shark可以理解为Spark社区这边搞的一个”HiveonSpark”,把Hive的物理执行计划使用Spark计算引擎去执行。这里面会有一些问题,Hive社区那边没有把物理执行计划到执行引擎这个步骤抽象出公共API,所以Spark社区这边要自己维护一个Hive的分支,而且Hive的设计和发展不太会考虑到如何优化Spark的Job。但是前面提到的HiveonSpark却是和Hive一起发布的,是由Hive社区控制的。所以后来Spark社区就停止了Shark的开发转向SparkSQL(“坑了”一部分当时信任Shark的人)。SparkSQL是把SQL解析成RDD的transformation和action,而且通过catalyst可以自由、灵活的选择最优执行方案。对数据库有深入研究的人就会知道,SQL执行计划的优化是一个非常重要的环节,SparkSQL在这方面的优势非常明显,提供了一个非常灵活、可扩展的架构。但是SparkSQL是基于内存的,元数据放在内存里面,不适合作为数据仓库的一部分来使用。所以有了SparkSQL的HiveContext,就是兼容Hive的SparkSQL。它支持HiveQL,HiveMetastore,HiveSerDesandHiveUDFs以及JDBCdriver。这样看起来很完美,但是实际上也有一些缺点:SparkSQL依赖于Hive的一个snapshot,所以它总是比Hive的发布晚一个版本,很多Hive新的feature和bugfix它就无法包括。而且目前看Spark社区在Spark的thriftserver方面的投入不是很大,所以感觉它不是特别想朝着这个方向发展。还有一个重要的缺点就是SparkSQL目前还不能通过分析SQL来预测这个查询需要多少资源从而申请对应的资源,所以在共享集群上无法高效地分配资源和调度任务。
- 2021-02-11 17:15:28
- gyq
- 方法如下:spark 源码编译好了,在linux上压缩出来,再解压后导入到eclipse中,不过eclipse要提前安装scala插件。
- 2021-02-20 02:20:06