2017-04-27 54 views

回答

1

我建议遵循Cloudera的教程Accessing Data Stored in Amazon S3 through Spark

要访问的Spark应用程序存储在Amazon S3的数据,你可以 使用的Hadoop文件的API(SparkContext.hadoopFileJavaHadoopRDD.saveAsHadoopFileSparkContext.newAPIHadoopRDDJavaHadoopRDD.saveAsNewAPIHadoopFile)进行读取和编写RDD, 提供表格s3a://bucket_name/path/to/file.txt的URL。

您可以使用Data Source API读写Spark SQL DataFrame。

关于文件扩展名,有几个解决方案。 您可以简单地使用扩展名(即file.txt)。

如果您的扩展程序被存储在S3存储桶中的文件删除,您仍然可以知道为每个S3资源添加的元数据的内容类型。

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html

+0

谢谢你的回答。 还有一个问题是,我如何知道像(json,csv,txt)这样的文件扩展名,我从S3获取哪种类型的文件。 –

+0

@Vpn_talent只需编写答案的其余部分... – freedev

+0

为什么你要寻找扩展?你的s3文件末尾没有扩展名吗? – freedev