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

2024-01-10

我正在将 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(使用前将#替换为@)

saveAsTextFile 到 Spark 上的 s3 不起作用,只是挂起 的相关文章

随机推荐

  • 如何根据字符串变量在 Terraform 中有条件创建资源

    虽然有条件地基于布尔变量创建资源是很常见的 但我正在寻找一种基于变量中的字符串有条件地生成资源的方法 例如 我正在创建变量day Sunday 现在 如果变量是not周日 Terraform 将创建资源 否则 什么都不会被创建 TF 有没有
  • 为什么调用 Class.forName("com.mysql.jdbc.Driver") 会注册 MySQL for JDBC? [复制]

    这个问题在这里已经有答案了 正如中所解释的 Class forName 和 Class forName newInstance 有什么区别 https stackoverflow com questions 2092659 what is
  • Java力场继承

    我知道有很多关于 Java 继承的线索 我已经读过 但它们都代表 它是怎样的 而我需要 如何改变它 的知识 所以 我们有 2 个类 class t1 public int a 5 public void get System out pri
  • 警告:侦听端口 52698 的远程端口转发失败

    我正在使用 SSH 访问我大学的 afs 系统 我喜欢使用 rmate 远程 TextMate 它需要 SSH 隧道 所以我在我的 bashrc alias sshr ssh R 52698 localhost 52698 email pr
  • 在 next.js 中触发客户端重新加载

    Scenario 索引页使用 getInitialProps 来加载数据 然后我们创建一个可以创建新数据的对话框 创建新数据后 应重新加载当前页面 Problem We use Router replace 重新加载页面 但它会触发服务器端
  • 是否可以在 html 文件的 script 标签中编译 Coffeescript 代码? [复制]

    这个问题在这里已经有答案了 可能的重复 有没有办法将 CoffeeScript 发送到客户端浏览器并将其编译为 JavaScriptthere https stackoverflow com questions 5170473 is the
  • 批量创建需要事务原子性吗?

    我正在使用bulk create https docs djangoproject com en 3 0 ref models querysets bulk createDjango 中的方法可以一次创建多个条目 为了确保仅在没有例外的情况
  • 仅第一个 UIView 添加的视图 addSubview 显示正确的方向

    我设置了三个 ViewController 来处理三个视图 我遇到的问题是 在模拟器中 方向是 LandscapeRight 这就是我想要的 并且第一个视图在该横向视图中正确显示 但是当我移动到第二个和第三个视图时 它们会显示逆时针旋转 9
  • Boost 库格式;获取 std::string

    我想添加一些使用 boost 库格式化的字符串 如下所示 boost container vector
  • 为什么实例仅通过其头部进行匹配?

    我将首先介绍一个具体的问题 StackOverflow 的人就是这样 假设您定义了一个简单类型 data T a T a 这种类型是一个Functor Applicative and a Monad 忽略自动派生 要获取这些实例 您必须编写
  • Android 上的 OpenCV 眼动追踪

    我希望使用 OpenCV api 在 android 中进行基本的眼动追踪 我发现在 Andriod 中使用 opencv 似乎有两种方法 要么使用他们的 c 包装器 要么使用 JavaCV api 我愿意这样做 但我正在寻找一些想法或示例
  • 要捕获的正则表达式:单词 {word} word

    我正在尝试捕获 单词 word 单词 我有以下正则表达式 S s S s 它实际上捕获了这种模式 但它也捕获了单词 word 看 https regex101 com r yI64KQ 6 https regex101 com r yI64
  • 放大配置

    我已经安装了 amplify cli 当我输入 amplify configure 时 收到错误消息 amplify 不被识别为内部或外部命令 可操作程序或批处理文件 请分享您的平台 您是在 Linux Windows Powershell
  • Xcode 6 GM 与 iPhone 5s (iOS 8 GM) - 0xE8000070

    我在 iPhone 5s 型号 A1530 iOS 8 版本 12A365 上使用 Xcode 6 GM Seed 版本 6A313 我通过 USB 闪电数据线连接 iPhone 但在 Xcode 中 它显示为 iPhone 5s 不可用
  • 为什么 Foreman 在我按下 Control-C 之前不会输出一些内容?

    我刚刚开始使用 Rails 编程 看起来有两个程序可以用来在本地运行我的项目 rackup 和 foreman 我注意到的一个区别是 foreman 不会输出一些我希望看到的内容 而我会查看是否运行rackup 直到我按 ctrl c 关闭
  • 如何获取 stringbuilder 并将其转换为streamReader?

    如何获取字符串生成器并将其转换为流 所以我的 stringbuilder 必须转换为 StreamReader stream Update 我尝试使用字符串读取器 例如 StringReader sr new StringReader sb
  • Suitecrm - pdf 模板中的 php 代码

    我想在我的 pdf 模板中添加 php 代码 这是我的用例 First is I have a dropdown on my own module 然后我想要的是我的 pdf 模板 我想要基于我的下拉列表的值的 php 条件 例如 if c
  • 包括特定于 ASP.NET MVC4 视图或部分视图的脚本

    我看过很多类似的问题如何在MVC4的局部视图中添加脚本 https stackoverflow com questions 14114084 how to add a script in a partial view in mvc4 and
  • 内联这个函数还是不内联?

    我应该实现一个比较两个相似字符串的函数strcmp但忽略空白字符 所以 strcmpignorews abc a b c 应该给出相同的结果 这是我的实现 namespace void SkipWhitespace const char s
  • saveAsTextFile 到 Spark 上的 s3 不起作用,只是挂起

    我正在将 s3 中的 csv 文本文件加载到 Spark 过滤和映射记录并将结果写入 s3 我尝试了几种输入大小 100k 行 1M 行和 350 万行 前两者成功完成 而后者 350 万行 挂起在某种奇怪的状态 其中作业阶段监控 Web