在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)

参考技术A 错误信息说的非常清楚啊,你main函数的声明不对,应该是
public static def main(String[] args):Unit本回答被提问者和网友采纳

在Windows下用Eclipse开发和运行Spark程序

我们想现在windows环境下开发调试好spark程序,然后打包,最后放到linux spark集群环境去运行。

Windows环境准备

Windows本地测试运行

可以参考文章:http://blog.csdn.net/pangjiuzala/article/details/50389823,其中logFile指定的地址根据你Hadoop环境上的地址和端口进行修改

打包

为了可以选择哪些第三方库打进jar包,我们需要安装Fat Jar Eclipse插件。

提交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程序 报错如下:的主要内容,如果未能解决你的问题,请参考以下文章

在Eclipse中跑一个Spark的算Pi例子。报错如下:

关于在eclipse上能运行Map但无法运行Reduce的解决方法

在Windows下用Eclipse开发和运行Spark程序

在Windows下用Eclipse开发和运行Spark程序

Eclipse怎么全局搜索替换

scala中的zmq,eclipse IDE中的java.library.path中没有jzmq