Amazon web services 通过spark和scala从AWS s3读取.conf文件

Amazon web services 通过spark和scala从AWS s3读取.conf文件,amazon-web-services,scala,apache-spark,amazon-s3,typesafe,Amazon Web Services,Scala,Apache Spark,Amazon S3,Typesafe,我能够从AWS S3加载文本文件,但在读取.conf文件时遇到了问题。获取错误 线程主线程com.typesafe.config.ConfigException$中缺少异常:找不到键“spark”的配置设置 Scala代码: val configFile1 = ConfigFactory.load( "s3n://<bucket_name>/aws.conf" ) configFile1.getString("spark.lineage.key"

我能够从AWS S3加载文本文件,但在读取.conf文件时遇到了问题。获取错误

线程主线程com.typesafe.config.ConfigException$中缺少异常:找不到键“spark”的配置设置

Scala代码:

val configFile1 = ConfigFactory.load( "s3n://<bucket_name>/aws.conf" )
configFile1.getString("spark.lineage.key")

根据我的研究,我们只能通过spark/scala从AWSS3读取分隔符文件。由于.conf文件为=对,因此不可能。
唯一的方法是修改文件中数据的格式

Typesafe配置不支持从S3加载.conf文件,但您可以自己将S3文件作为字符串读取并传递给Typesafe配置,如val conf=ConfigFactory.parseString。conf文件作为字符串…

这里我要做的就是创建一个包装实用程序Config.scala

使用创建的包装器

val conf: TConfig = Config("s3://config/path")
您可以使用aws java sdk提供的作用域,因为它将在EMR集群中提供

val conf: TConfig = Config("s3://config/path")