我正在练习一些火花代码,并且自己开始时我遇到了以下错误。
newRDD = sc.textFile("/user/cloudera/sqoop-import/products")
17/03/15 20:41:31 INFO storage.MemoryStore:阻止broadcast_1存储 作为内存中的值(估计大小198.0 KB,免费419.3 KB)17/03/15 20:41:31 INFO storage.MemoryStore:阻止broadcast_1_piece0存储为 内存中的字节数(估计大小23.3 KB,免费442.7 KB)17/03/15 20:41:31 INFO storage.BlockManagerInfo:添加了broadcast_1_piece0 in 内存在192.168.50.129:49855(大小:23.3 KB,免费:530.2 MB) 17/03/15 20:41:31 INFO spark.SparkContext:创建广播1 NativeMethodAccessorImpl.java上的textFile:2
for i in newRDD:
... print(i)
...
追踪(最近一次通话): 文件“”,第1行,in TypeError:'RDD'对象不可迭代
答案 0 :(得分:0)
我的坏。我没有对数据使用任何操作。只有转换才能将数据传递给驱动程序,因为所有这些都是一种懒惰的评估。
答案 1 :(得分:0)
重启Linux并尝试这样
for(el <- newRDD){
println(el)
}
RDD不是要迭代的数字,你最常使用上面的循环来访问每个元素