在eclipse 中运行scala程序 报错如下:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在eclipse 中运行scala程序 报错如下:相关的知识,希望对你有一定的参考价值。
代码如下:
package com.scala.jis
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
class WordCount
def main (args: Array[String]): Unit =
val conf = new SparkConf()
conf.setAppName("app")
conf.setMaster("local")
val sc = new SparkContext(conf)
val lines = sc.textFile("D://test//spark.txt", 1)
val words = lines.flatMap line => line.split(" ")
val pairs = words.map word => (word, 1)
val wordCounts = pairs.reduceByKey(_+_)
wordCounts.foreach(pair => print(pair._1 + ":" + pair._2))
sc.stop()
错误: main 方法不是类 com.scala.jis.WordCount 中的static, 请将 main 方法定义为:
public static void main(String[] args)
public static def main(String[] args):Unit本回答被提问者和网友采纳
在Windows下用Eclipse开发和运行Spark程序
我们想现在windows环境下开发调试好spark程序,然后打包,最后放到linux spark集群环境去运行。
Windows环境准备
准备好Eclipse开发环境,最好是支持scala语言的。可以到scala的官网上下载:http://scala-lang.org/download/
下载Spark的assembly开发jar包:http://spark.apache.org/downloads.html
解压后,找到spark-1.5.0-bin-hadoop2.6\\lib\\spark-assembly-1.5.0-hadoop2.6.0.jar,创建spark工程的时候需要导入下载Hadoop的bin包:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/ ,解压后,在windows中增加环境变量HADOOP_HOME,值为解压后的目录
下载winutils.exe:http://download.csdn.net/detail/luoyepiaoxin/8860031 ,将其放到$HADOOP_HOME/bin/目录下
Windows本地测试运行
可以参考文章:http://blog.csdn.net/pangjiuzala/article/details/50389823,其中logFile指定的地址根据你Hadoop环境上的地址和端口进行修改
打包
为了可以选择哪些第三方库打进jar包,我们需要安装Fat Jar Eclipse插件。
- 由于我们下载的Scala Eclipse版本较高,最新的Fat Jar不支持,请参考这篇文章进行安装 Fat Jar:http://blog.csdn.net/gfxjj123/article/details/51163453 。安装插件的时候,请注意看Eclipse右下角的进度条。
- 安装好Fat Jar之后,具体怎么打包,可以参考这篇文章:http://jingyan.baidu.com/article/da1091fbd7dae1027849d63b.html 。 这里需要注意,我们打完jar包后,是通过spark-submit脚本提交给spark集群,在Fat Jar打包界面中,不要选择One-JAR选项。
提交Spark集群
在spark集群中的一台机器上执行类似于这样的命令:
spark-submit --class com.zxhy.LocalWordCount --master yarn --deploy-mode client --executor-memory 1g --num-executors 3 --name wordcount --conf "spark.app.id=Localwordcount" /home/hadoop/localwordcount_fat.jar
spark-submit参数的含义请参考官方文档:http://spark.apache.org/docs/latest/submitting-applications.html
以上是关于在eclipse 中运行scala程序 报错如下:的主要内容,如果未能解决你的问题,请参考以下文章