saveAsTextFile到spark上的s3不起作用,只是挂起

时间:2014-08-10 07:19:07

标签: amazon-s3 apache-spark

我正在将s3中的csv文本文件加载到spark中,过滤并映射记录并将结果写入s3。

我尝试了几种输入尺寸:100k行,1M行和1; 3.5M行。 前两个成功完成,而后者(3.5M行)挂起一些奇怪的状态,其中作业阶段监视Web应用程序(端口4040中的那个)停止,命令行控制台卡住,甚至不响应ctrl- C。 Master的网络监控应用程序仍然响应并将状态显示为FINISHED

在s3中,我看到一个空目录,其中包含一个零大小的条目_temporary_$folder$。使用s3n://协议提供s3网址。

我在Web控制台的日志中没有看到任何错误。 我也尝试了几个簇大小(1个主人+ 1个工人,1个主人+ 5个工人)并且达到了相同的状态。

有没有人遇到过这样的问题? 知道发生了什么吗?

1 个答案:

答案 0 :(得分:2)

您可能遇到s3n FileSystem的5GB对象限制。您可以使用s3 FileSystem(不是s3n)或通过对输出进行分区来解决此问题。


这是AmazonS3 - Hadoop Wiki所说的内容:

  

S3 Native FileSystem(URI scheme:s3n)   用于在S3上读取和写入常规文件的本机文件系统。此文件系统的优点是您可以访问使用其他工具编写的S3上的文件。 [...]缺点是S3强加的文件大小限制为5GB。

...

  

S3 Block FileSystem(URI scheme:s3)   由S3支持的基于块的文件系统。文件存储为块,就像它们在HDFS中一样。这允许有效地实现重命名。此文件系统要求您为文件系统专用存储桶[...]此文件系统存储的文件可能大于5GB,但它们不能与其他S3工具互操作。

...

  

AmazonS3(由SteveLoughran于2014-07-01 13:27:49编辑)