【发布时间】:2017-02-07 06:52:53
【问题描述】:
我想使用 scala 应用程序访问 amazon s3 存储桶。我已经在我的 Eclipse 中设置了 scala IDE。但是,当我尝试在本地 (Run As --> Scala Application) 上运行 >application 时,它会在控制台上显示以下 >error。错误:无法找到或加载主类 org.test.spark1.test 我试图运行一个简单的 wordcount 应用程序,在该应用程序中我正在访问存储在我的 S3 存储桶中的 >file 并将结果存储在另一个文件中。请让我明白可能是什么问题。
注意:我正在使用 eclipse maven 项目。我的 scala 应用程序代码是:
package org.test.spark1
import com.amazonaws._
import com.amazonaws.auth._
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import com.amazonaws.services.s3._
import com.amazonaws.services.s3.model.GetObjectRequest
import java.io.File;
object test extends App {
def main(args: Array[String]) {
val myAccessKey = "here is my key"
val mySecretKey = "here is my secret key"
val bucket = "nlp.spark.apps"
val conf = new SparkConf().setAppName("sample")
val sc = new SparkContext(conf)
val yourAWSCredentials = new BasicAWSCredentials(myAccessKey, mySecretKey)
val amazonS3Client = new AmazonS3Client(yourAWSCredentials)
// This will create a bucket for storage
amazonS3Client.createBucket("nlp-spark-apps2")
val s3data = sc.textFile("here is my url of text file")
s3data.flatMap(line =>
line.split(" "))
.map(word =>
(word, 1))
.reduceByKey(_ * _)
.saveAsTextFile("/home/hadoop/cluster-code2.txt")
}}
【问题讨论】:
-
不需要
test extends App和main方法。任选其一。 -
我从代码中删除了 extends App.. 但错误仍然存在
标签: java scala maven apache-spark amazon-s3