如果想要在rdd中查看数据该怎么做?

如果想要在rdd中查看数据该怎么做?

https://img1.sycdn.imooc.com/climg/658ad79f095218a212700495.jpg

如果想要查看rdd中top3的数据样式该怎么做呢?好像无法直接通过print打印到控制台。

这个地方我第一感觉数据类型长这样,不过老师视频里说的是Tuple3类型直接去掉了括号,我大概猜测是因为mkString的作用,但是想要通过打印数据的方式验证查看下具体格式,结果发现RDD中的数据好像无法打印到控制台

(uid,rating,timestamp) \t (uid,rating,timestamp) \t (uid,rating,timestamp)

最后我通过写了一个仿示例代码,然后将rdd数据保存到了本地文件,结果发现数据格式和我想象中的一样是带有括号的

https://img1.sycdn.imooc.com/climg/658adcb809db7b0615310436.jpg

结果如下:

https://img1.sycdn.imooc.com/climg/658adccd09d1e48818010313.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

可以通过print打印top3,只不过这个代码不是在driver进程中执行的,是在executor中执行的,所以需要把任务提交到yarn上,到yarn上查看日志才可以。


或者把top3的内容作为map算子的返回结果,后续调用foreach迭代可以打印到控制台上。

  • 蒋昌魁 提问者 #1

    谢谢老师,加上foreach算子后所有算子中都可以用print打印到控制台了。我之前有通过foreach进行尝试,不过好像没有看见打印结果,这次确实打印出来了,可能之前的代码自己写的有些问题

    还有就是top3中的数据格式从打印的结果来看有带有括号,但对当前程序取的评级数据没有影响

    https://img1.sycdn.imooc.com/climg/658b961a09e4aef114660611.jpg

    2023-12-27 11:21:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师