如何在没有 EMR 的情况下使用经 EMRFS S3 优化的提交程序?
How to use EMRFS S3-optimized committer without EMR?
我想在没有 EMR 集群的情况下在本地使用 EMRFS S3 优化的提交程序。
我设置了 "fs.s3a.impl" = "com.amazon.ws.emr.hadoop.fs.EmrFileSystem" 而不是 "org.apache.hadoop.fs.s3a.S3AFileSystem" 并引发了以下异常:
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.amazon.ws.emr.hadoop.fs.EmrFileSystem not found
尝试使用 Maven 中的以下包但没有成功:
- com.amazonaws:aws-java-sdk:1.12.71
- com.amazonaws:aws-java-sdk-emr:1.12.70
抱歉,在 EMR 之外无法使用 EMRFS,包括 S3 优化的提交程序。
EMRFS 不是开源包,Maven Central 中也没有可用的库。这就是当您尝试添加 aws-java-sdk-emr 作为依赖项时找不到 class 的原因;该软件包仅适用于与 EMR 服务交互时使用的 AWS Java SDK 客户端软件包(例如,创建集群)。
我想在没有 EMR 集群的情况下在本地使用 EMRFS S3 优化的提交程序。 我设置了 "fs.s3a.impl" = "com.amazon.ws.emr.hadoop.fs.EmrFileSystem" 而不是 "org.apache.hadoop.fs.s3a.S3AFileSystem" 并引发了以下异常:
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.amazon.ws.emr.hadoop.fs.EmrFileSystem not found
尝试使用 Maven 中的以下包但没有成功:
- com.amazonaws:aws-java-sdk:1.12.71
- com.amazonaws:aws-java-sdk-emr:1.12.70
抱歉,在 EMR 之外无法使用 EMRFS,包括 S3 优化的提交程序。
EMRFS 不是开源包,Maven Central 中也没有可用的库。这就是当您尝试添加 aws-java-sdk-emr 作为依赖项时找不到 class 的原因;该软件包仅适用于与 EMR 服务交互时使用的 AWS Java SDK 客户端软件包(例如,创建集群)。