scala - EMR 总是给我找不到 Scala 应用程序的类
问题描述
您好,我想测试 EMR 自定义步骤功能。
我创建了一个简单的 2 类 Scala 应用程序,它在 S3 上写入一个文本文件。
这里是树
├───src
├───main
│ └───scala
│ └───com
│ └───myorg
-S3Lister.scala
-FindMaxDate.scala
└───test
└───scala
└───samples
在构建包后,mvn package
我将其提交给 emr,指定为 main class com.myorg.FindMaxDate
。但是它总是给我这个错误:
Caused by: java.lang.ClassNotFoundException: scala.Function1
知道这个错误可能是什么原因造成的吗?
我已经使用了原型:net.alchim31.maven:scala-archetype-simple version: 1.6
谢谢
这是我的主要课程:
object FindMaxDate {
def main(args : Array[String]) {
val date_pattern = "\\d{8}".r
val date_format = new SimpleDateFormat("yyyyMMdd")
var objectList: List[S3ObjectSummary] = S3Lister.listObjectsInBucket("mycloud-unzipped","sociodemos")
val sum: scala.collection.immutable.List[Date] = objectList.asScala
.map(file => date_pattern.findFirstIn(file.getKey()))
.map(date => date.getOrElse(null))
.filter(date => date != null)
.map(date => date_format.parse(date)).toList
S3Lister.writebjectToS3("max_date:" + sum.max + "\n min_date:" + sum.min + "\n",
"mycloud-source","dates.txt","sociodemos")
}
}
以下是依赖项:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.550</version>
</dependency> ... below there are all the default ones for testing
解决方案
推荐阅读
- c# - VS2017 .Net Core 2 性能和负载测试
- spring - 使用 spring-data-elasticsearch 时出错:3.1.0.M3
- c# - 访问类文件中的会话
- python - Image Processing Algorithm design: how to get front images from an angled camera?
- swift - Opening another screen by clicking on UICollectionViewCell
- spring - 无法创建 Spring Data jpa 存储库 bean 获取 BeanCreationException:
- elki - 如何在 Elki 中使用数组而不是 NumberVector
- c# - 更新实体中的集合会引发“无法为表中的标识列插入显式值”
- react-native - 当 redux 重新渲染包含 StackNavigator 的视图时,它会将自身重置为初始屏幕
- php - 如何将 .htaccess 文件中的条件转换为 web.config