zoukankan      html  css  js  c++  java
  • 利用Intellij IDEA开发Spark程序

    网上例子大多是基于scala的,并且配置基于sbt、scala的eclipse环境超级麻烦,所以下载IDEA。

    准备:jdk,IDEA安装(可以不用事先安装sbt和Scala,这在IDEA里都可以plugin)

    安装Scala,SBT插件

    在IDEA的Preference—Plugins—Browse Repositories—scala 点击install scala就行啦

    安装sbt同理

    开发与打包

    在使用的时候与Eclipse还是有蛮大区别的,个人理解Eclipse的workspace和IDEA的Project类似,Eclipse的Project和IDEA的module类似,但又不完全等价。

    首先新建一个Scala Project,起名SimpleApp,文件目录如下所示:

    这个时候External Libraries里只有jdk和Scala,还要引用Spark的jar包

    在工具栏中有一个Project Structure:(当然也可以从file选项里找到)

    按照Libraries -> + -> Java -> (从弹窗里选择要添加的开发jar包)

    添加好的External Libraries如下

    写代码,用的官网的代码:

    可以直接在本地上跑,只要conf设置master为local就可以在IDEA上检验程序是否正确

    打成Jar包:

    还是Project Structure -> Artifacts -> + -> JAR -> From modules with dependencies

    随便选个class

    OK之后弹出:

    SimpleAPP.jar把Scala Spark的开发包去掉。Ok之后点击Build -> Build Artifacts -> build后在SimpleAPP/out/artifacts/SimpleAPP_jar路径下就有了SimpleAPP.jar包了

    然后用spark-submit就可以提交了

    这里对Project module 和编译Jar包的各种路径还有待搞清楚——TODO

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    最后再对IDEA的目录结构解释一下

    目录名称 释义
    .idea   
    src  
    SimpleAPP.iml  
       
  • 相关阅读:
    let 和 const 命令
    字符串和数组之间相互转换
    angularjs 添加拦截器
    js判断数组是否包含指定元素的方法
    angularjs ng-include
    requirejs学习 关于requirejs的一些参数问题
    ngDialog 点击窗口以外不允许关闭弹窗
    jQuery Jcrop 图像裁剪
    Javascript模块化编程(三):require.js的用法
    angular.bootstrap手动加载angularjs模块
  • 原文地址:https://www.cnblogs.com/captainlucky/p/4633249.html
Copyright © 2011-2022 走看看