- 时间:2021-02-11 16:38 编辑:白石亚梨沙 来源:蚂蚁资源 阅读:88
- 扫一扫,手机访问
摘要:大家好,今天给大家介绍关于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源码多少行**的全部内容,了解更多请关注蚂蚁资源网。
- hhcw0320
- 如何将spark源代码导入到idea 14的工程中,你好。 IntelliJ IDEA 13已经不需要事先sbt gen-idea了,直接打开源码目录,IntelliJ会自动识别SBT项目并导入。不过我一般还是习惯先sbt gen-idea一下。 不是搞spark源码阅读的话,直接下载二进制吧,里边有spark-assembly-1.0.1-hadoop2.2.0.ja...
- 2021-02-11 16:38:15
- visitor
- 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 16:38:15
- asd
- 方法如下:spark 源码编译好了,在linux上压缩出来,再解压后导入到eclipse中,不过eclipse要提前安装scala插件。
- 2021-02-19 20:20:01