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  
       
  • 相关阅读:
    sql中关于存在就不做操作的代码块
    mysql插入多条数据时间复杂度比较
    oracle in VS or效率
    如何实现分布式数据库
    angularJS操作键值对象(类似java的hashmap)填坑小结
    angularJS 如何读写缓冲
    angularJs自定义服务(实现签名和加密)
    ajax请求技术
    springboot中使用mybatis显示执行sql
    mysql快速生成truncate脚本清空数据库表记录
  • 原文地址:https://www.cnblogs.com/captainlucky/p/4633249.html
Copyright © 2011-2022 走看看