我正在将 s3 中的 csv 文本文件加载到 Spark,过滤和映射记录并将结果写入 s3。
我尝试了几种输入大小:100k 行、1M 行和 350 万行。
前两者成功完成,而后者(350 万行)挂起在某种奇怪的状态,其中作业阶段监控 Web 应用程序(端口 4040 中的应用程序)停止,并且命令行控制台卡住,甚至不响应 ctrl- C。 Master的网络监控应用程序仍然响应并显示状态为FINISHED
.
在 s3 中,我看到一个空目录,其中有一个零大小的条目_temporary_$folder$
。 s3 url 使用以下方式给出s3n://
协议。
我在 Web 控制台的日志中没有看到任何错误。
我还尝试了几种集群大小(1 个主节点 + 1 个工作节点、1 个主节点 + 5 个工作节点)并达到了相同的状态。
有人遇到过这样的问题吗?
知道发生了什么事吗?
您可能遇到了 5GB 对象限制s3n FileSystem
。您也许可以通过使用来解决这个问题s3 FileSystem
(not s3n
),或者通过对输出进行分区。
这是什么AmazonS3 - Hadoop 维基 https://wiki.apache.org/hadoop/AmazonS3 says:
S3 本机文件系统(URI 方案:s3n)用于在 S3 上读写常规文件的本机文件系统。该文件系统的优点是您可以访问 S3 上使用其他工具编写的文件。 [...] 缺点是 S3 对文件大小施加 5GB 的限制。
...
S3 块文件系统(URI 方案:s3)由 S3 支持的基于块的文件系统。文件以块的形式存储,就像在 HDFS 中一样。这允许有效地实施重命名。该文件系统要求您为该文件系统指定一个存储桶 [...] 该文件系统存储的文件可以大于 5GB,但它们不能与其他 S3 工具互操作。
...
AmazonS3(由 SteveLoughran 最后编辑于 2014-07-01 13:27:49)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)