スカラアプリケーションを使用してamazon s3バケットにアクセスしたいとします。私はEclipseの中でスケーラIDEをセットアップしました。しかし、ローカル(Run As - > Scala Application)で>アプリケーションを実行しようとすると、コンソール上で次のようなエラーが発生します。エラー:メインクラスorg.test.spark1.testを見つけることができませんでした。私はS3バケットに格納されているファイルにアクセスして別のファイルに結果を格納している単純なワードカウントアプリケーションを実行しようとしていました。何が問題なのか理解してください。スカラアプリケーションを使用してs3バケットにアクセスしようとしています
注:私は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'メソッドの両方の必要はありません。いずれかを選択します。 –
コードからアプリを削除しましたが、まだエラーがあります –