【发布时间】:2016-08-11 23:03:39
【问题描述】:
在 Hadoop 中,当我使用 inputformat reader 时,作业级别的日志会报告读取了多少条记录,它还会显示字节数等。
在 Spark 中,当我使用相同的输入格式阅读器时,我没有得到这些指标。
所以我想我会使用 inputformat 阅读器来填充 rdd,然后只发布 rdd 中的记录数(rdd 的大小)。
我知道rdd.count() 返回 rdd 的大小。
但是,我不清楚使用count() 的成本?例如:
- 是分布式函数吗?每个分区是否会报告其计数并将计数相加并报告?还是整个 rdd 都带入驱动并计算在内?
- 执行
count()后,rdd 是否仍保留在内存中,还是必须显式缓存它? - 有没有更好的方法来做我想做的事,即在对记录进行操作之前对记录进行计数?
【问题讨论】:
标签: java hadoop apache-spark