如何在Spark中找到RDD的长度

阿比舍克

我如何找到以下RDD的长度?

var mark = sc.parallelize(List(1,2,3,4,5,6))

scala> mark.map(l => l.length).collect
<console>:27: error: value length is not a member of Int
   mark.map(l => l.length).collect
侦察兵

首先,您应该明确您想要什么。在您的examplek中,您正在运行一个map函数,因此您似乎在尝试获取RDD每个字段的长度,而不是RDD大小。

sc.textFile将所有内容加载为Strings,因此您可以在每个字段上调用length方法。并行化将信息并行化为整数,因为您的列表由整数组成。

如果您需要RDD的大小,则应在RDD上运行计数,而不是在每个字段上运行

mark.count()

这将返回6

如果需要每个元素的大小,可以String根据需要将它们转换为,但这看起来很奇怪。将会是这样的:

mark.map(l => l.toString.length).collect

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章