使用Apache Spark从Amazon S3解析文件
我正在使用Apache Spark,我必须从Amazon S3解析文件。 从Amazon S3路径获取文件时,如何知道文件扩展名?
我建议按照Cloudera教程访问通过Spark访问Amazon S3中存储的数据
要从Spark应用程序访问存储在Amazon S3中的数据,您可以使用Hadoop文件API(
SparkContext.hadoopFile
,JavaHadoopRDD.saveAsHadoopFile
,SparkContext.newAPIHadoopRDD
和JavaHadoopRDD.saveAsNewAPIHadoopFile
)来读取和编写RDD,提供s3a://bucket_name/path/to/file.txt
forms的URLs3a://bucket_name/path/to/file.txt
。您可以使用Data Source API读写Spark SQL DataFrames。
关于文件扩展名,几乎没有解决方案。 你可以简单地通过文件名(即file.txt
)获取扩展名。
如果您的扩展程序被存储在S3存储桶中的文件删除,您仍然可以知道内容类型,查看为每个S3资源添加的元数据。
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html