使用Apache Spark从Amazon S3解析文件

我正在使用Apache Spark,我必须从Amazon S3解析文件。 从Amazon S3路径获取文件时,如何知道文件扩展名?

我建议按照Cloudera教程访问通过Spark访问Amazon S3中存储的数据

要从Spark应用程序访问存储在Amazon S3中的数据,您可以使用Hadoop文件AP​​I( SparkContext.hadoopFileJavaHadoopRDD.saveAsHadoopFileSparkContext.newAPIHadoopRDDJavaHadoopRDD.saveAsNewAPIHadoopFile )来读取和编写RDD,提供s3a://bucket_name/path/to/file.txtforms的URL s3a://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