使用apachespark进行java开发
我是Spark新手,我想询问一些关于为apachespark框架开发和测试代码的常见准则
在本地测试代码最常见的设置是什么?有吗 要提升的内置虚拟机(就绪盒等)?我必须在本地设置spark吗?是否有任何测试库来测试我的代码
在集群模式下,我注意到有一些方法可以 设置集群;就生产而言,最常见的方法是什么 设置群集以运行Spark?这里有三种选择
- 独立群集设置
- 使用纱线
- 使用MESOS
多谢各位
你可以在下面搜索框中键入要查询的问题!
我是Spark新手,我想询问一些关于为apachespark框架开发和测试代码的常见准则
在本地测试代码最常见的设置是什么?有吗 要提升的内置虚拟机(就绪盒等)?我必须在本地设置spark吗?是否有任何测试库来测试我的代码
在集群模式下,我注意到有一些方法可以 设置集群;就生产而言,最常见的方法是什么 设置群集以运行Spark?这里有三种选择
多谢各位
# 1 楼答案
1)常见设置:只需在本地机器上下载Spark版本。解压它并按照these步骤在本地进行设置
2)启动集群进行生产:可用的Spark cluster mode overviewhere解释了运行Spark集群时的关键概念Spark既可以独立运行,也可以在多个现有集群管理器上运行。目前,有几种部署选项可用:
亚马逊EC2
独立模式
Apache Mesos
Hadoop纱线
EC2脚本可以让你在5分钟内启动一个集群。事实上,如果您使用的是EC2,最好的方法就是使用spark提供的脚本。独立模式最适合在专用集群上部署Spark
通常,当我们使用纱线设置现有的Hadoop时,我们使用纱线作为集群管理器,Mesos也是如此。相反,如果您要从灰尘中创建一个新集群,我建议您使用独立模式,因为您没有使用亚马逊的EC2实例Thislink显示了一些有助于安排独立Spark集群的步骤
# 2 楼答案
我用的是霍顿工厂的沙箱。它有hadoop、java和运行spark示例所需的所有环境
我建议您在IDE中编写简单的Java或Scala类。在“SimpleApp.java”中创建SparkConf和SparkContext对象
一旦运行
maven clean package or maven package
,它将在项目的目标文件夹中创建jar文件。如果没有,则使用以下命令创建一个JAR文件。你可以找到SimpleApp。类文件位于“target/classes”文件夹中。cd到这个目录将此JAR文件放入目标目录中的项目中。在将作业提交给Spark时,此JAR文件包含SimpleApp类的依赖项。我猜你的项目结构如下
cd到你的spark目录。我使用的是spark-1.4.0-bin-hadoop2。6.你的cmd看起来像这样
使用以下命令启动主程序和辅助程序
如果这不起作用,那么分别启动主设备和从设备
使用spark Submit提交spark计划。如果你有我解释过的结构,那么在课堂上通过这个论点
否则
最后通过spark submit提交spark计划
在这里,我使用了local[2]作为主控,因此我的程序将在两个线程上运行,但您可以在--master中以
--master spark://YOUR-HOSTNAME:7077
的形式传递主控URL端口号7077是主URL的默认端口号
# 3 楼答案
霍顿工厂的沙箱希望能有所帮助
HDP 2.2.4沙盒与Apache Spark&;安巴里景观 http://hortonworks.com/products/hortonworks-sandbox/#install
我使用的第二个资源是http://www.cloudera.com/downloads/quickstart_vms/5-8.html
该图像确实包含Hadoop、HBase、Impala、Spark和许多其他功能。 需要4gb内存、1个CPU和62.5GB磁盘。种类比较大,但是是免费的,并且满足了所有的要求,而不是在云上的付费版本
# 4 楼答案
对于开发和测试,我建议在本地模式下使用sbt,这样您就可以利用将为代码编写的测试套件。以下是Matei Zaharia关于Spark开发的逐字建议,它一直对我有用:
“作为一个提示(这可能没有很好的文档记录),我通常使用SBT进行测试 开发以避免缓慢的构建过程,并使用其交互式 控制台只运行特定的测试。SBT的优点是可以保持 Scala编译器跨构建加载和JIT,使其能够更快地 迭代要使用它,可以执行以下操作:
资料来源: http://mail-archives.apache.org/mod_mbox/spark-dev/201412.mbox/%3cCAAsvFP=V9FL=KvXNUeWVfFz8q04oj1exdwSaSNiab5Vc9hFkUg@mail.gmail.com%3e