【发布时间】:2020-06-30 16:57:52
【问题描述】:
我最近开始使用 Spark 来处理大量数据(~1TB)。并且也能够完成工作。但是我仍在尝试了解它的工作原理。考虑以下场景:
设置参考时间(比如tref)
-
执行以下两项任务中的任何一项:
一个。使用 SciSpark 将数万个文件中的大量数据 (~1TB) 读取到 RDD (OR) 中
b.如上所述读取数据并进行额外的预处理工作并将结果存储在 DataFrame 中
打印适用的 RDD 或 DataFrame 的大小以及与 tref 的时间差(即 t0a/t0b子>)
- 做一些计算
- 保存结果
换句话说,1b 在处理与 1a 完全相同的 RDD 之后创建一个 DataFrame。
我的查询如下:
推断t0b – t0a = 预处理所需时间是否正确?我在哪里可以找到相同的可靠参考?
编辑:为问题的来源添加了解释......
我的怀疑源于 Spark 的惰性计算方法及其执行异步作业的能力。它可以/是否启动可以在读取数千个输入文件时计算的后续(预处理)任务?怀疑的根源在于令人难以置信的表现(结果验证正常)我认为这看起来太棒了,难以置信。
感谢您的回复。
【问题讨论】:
标签: apache-spark performance-testing