ideaij scala example

浏览: 2328

1、sh /usr/intellijIDEA/idea-IC-141.3056.4/bin/idea.sh

选择新建project

Clipboard Image.png

2、新建project name,并配置相关sdk

Clipboard Image.png

project sdk:/usr/java/latest/

scala sdk:/usr/lib/scala/lib

3、点击finish,选择project structure->model,在src下新建main和scr 源目录

Clipboard Image.png


4、点击library, 新建sacla sdk,选择lib(/usr/lib/scala/lib)

Clipboard Image.png


5、点击新建java,选择spark lib(/usr/lib/discover/lib/spark-assembly-1.4.1-hadoop2.5.2-transwarp.jar)

6、点击ok

Clipboard Image.png

7、点击ok

Clipboard Image.png

如何用的hbase和kafka可以把/usr/lib/hbase/lib和usr/lib/kafka/libs下的也导进去



8、点击main.scala新建package

Clipboard Image.png

9、新建scala class

Clipboard Image.png

10、kind选择object

Clipboard Image.png

11、输入如下内容

Clipboard Image.png


12、新建join类输入 如下内容

Clipboard Image.png



package main.scala.week2

/**

 * Created by root on 1/5/16.

 */

import org.apache.spark.{SparkContext, SparkConf}

import org.apache.spark.SparkContext._

object SogouQA {

  def main(args: Array[String]) {

    if (args.length == 0) {

      System.err.println("Usage: SogouQA <file1> <file2>")

      System.exit(1)

    }

    //val conf = new SparkConf().setAppName("SogouQA")

    val conf = new SparkConf().setAppName("SogouQA").setMaster("local")

    val sc = new SparkContext(conf)

    //val rdd1 = sc.textFile("SogouQ1.txt")

    sc.textFile(args(0)).map(_.split("\t")).filter(_.length==6).map(x=>(x(1),1)).reduceByKey(_+_).map(x=>(x._2,x._1)).sortByKey(false).map(x=>

      (x._2,x._1)).saveAsTextFile(args(1))

    //sc.textFile("SogouQ1.txt").map(_.split("\t")).filter(_.length==6).map(x=>(x(1),1)).reduceByKey(_+_).map(x=>(x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1)).saveAsTextFile("output/oupt")

    sc.stop()

  }

}

13、新建artifact

Clipboard Image.png

报错MANIFEST.MF存在时,删除该文件,然后重启Idea

14、build artfacts

Clipboard Image.png

15、运行打包 好的week2.jar

运行代码: /usr/bin/spark-submit --master spark://datanode:7077 --class week2.SogouQA --executor-memory 1g week2.jar SogouQ1.txt output/outp3

报如下错误

Clipboard Image.png

错误提示找不到/var/log/discover,可以修改log4j.properties

Clipboard Image.png

修改discover.log.file=${log.name},为一个指定文件,修改如下

Clipboard Image.png

错误2:

Clipboard Image.png

解决方法:类要加上main.scala,并且val conf = new SparkConf().setAppName("join").setMaster("local")(给代码指定一个提交模式,目前指定的是standalone  生产环境下一般用yarn-cluster模式 

辅:

可以用一个sh执行

/usr/bin/spark-submit \

--master spark://datanode:7077 \

--class cn.spark.core.SogouQA \

--executor-memory 1g \

spark-test.jar \

SogouQ1.txt output/oupt2

16、OK

推荐 0
本文由 华青莲 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册