为什么在pyspark中执行的以下查询移至下一行而不是执行当前命令
cloudera VM 5.X中的spark 1.6
创建名称为fprdd的rdd(此命令执行得很好)
pair1rdd = fprdd.map(lambda x:(x [2],(x [0],x [1]))
甚至尝试通过Shift + Enter选择命令(同样是徒劳的)
点击Enter进入新行
任何人都可以为我提供可能的解决方案。
答案 0 :(得分:1)
为了获得此问题的答案,您应该仔细研究火花中的lazy evaluation。
Spark中的所有转换都是惰性的,因为它们不计算 他们的结果马上。相反,他们只记得 应用于某些基本数据集(例如文件)的转换。的 仅当操作需要结果才能计算转换时 返回驱动程序。这种设计使Spark可以运行 更有效率。例如,我们可以意识到创建了一个数据集 通过映射将用于减少并仅返回结果 减少到驱动程序,而不是更大的映射数据集。