当Spark在S3上读取大数据集时,在“停机时间”期间发生了什么?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

当Spark在S3上读取大数据集时,在“停机时间”期间发生了什么?

2019-01-02 14:49:14 2779 1

我在AWS S3中有一堆JSON数据 - 让我们说100k文件,每个大约5MB - 我正在使用Spark 2.2 DataFrameReader来读取和处理它们:

sparkSession.read.json(...)

我发现Spark在开始计算之前只会挂起5分钟左右。对于较大的数据集,这可能需要数小时。当我说“挂起”时,我的意思是终端可视化指示群集正在处理的阶段以及沿着它的距离不会出现 - 据我所知,它在某些阶段之间。

Spark在此期间做了什么,我怎样才能帮助它更快?

我有两个想法,但它们似乎都是错的。

我的第一个想法是Spark试图列出它需要进行计算的所有文件。我通过实际创建脱机文件列表并直接将它们提供给Spark而不是使用glob语法来测试它:

val fileList = loadFiles()
sparkSession.read.json(fileList:_*)

这实际上导致“悬挂”时期持续更长时间!

我的第二个想法是Spark正在利用这段时间为所有数据创建一个模式。但我通过手动指定架构来排除这种情况:

val schema = createSchema()
sparksession.read.schema(schema).json(...)

这里的“悬挂”时期与以前相同,但整体计算要快得多。

所以我不确定发生了什么或如何诊断它。

取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:24:24

    在S3中列出目录树的成本非常高,“分区”。这就是您所经历的。

    修复

    更少,更大的文件
    较浅的目录树

    0 0
相关问答

1

回答

Spark Streaming 原理是什么?

2022-01-13 15:54:26 1118浏览量 回答数 1

1

回答

spark streaming是怎么收集和处理数据的?

2021-12-07 22:52:45 114浏览量 回答数 1

1

回答

Flink 相比传统的 Spark Streaming 有些什么区别?

2021-12-08 17:54:39 368浏览量 回答数 1

1

回答

Flink 相比传统的 Spark Streaming 有怎样的区别?

2021-12-08 17:05:05 341浏览量 回答数 1

1

回答

Spark Streaming中的DStream的转化操作是什么?

2021-12-07 20:17:05 111浏览量 回答数 1

1

回答

Spark Streaming中的DStream的输出操作是什么?

2021-12-07 20:17:49 136浏览量 回答数 1

1

回答

spark streaming中的foreachRDD(func)方法是什么?

2021-12-07 08:05:05 291浏览量 回答数 1

1

回答

如何使用Spark Streaming SQL进行 PV/UV统计?

2020-12-28 11:38:30 486浏览量 回答数 1

1

回答

使用Spark Streaming SQL进行 PV/UV统计的准备工作?

2020-12-28 11:39:00 418浏览量 回答数 1

1

回答

spark streaming实时程序 进程总是运行三四个小时左右不知道原因挂掉

2019-12-20 21:25:15 877浏览量 回答数 1
+关注
社区小助手
社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。
12
文章
824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载