我是新手来使用python来激活和实现它。我有一个问题集,我需要将文件的第一行存储在RDD中,然后对其进行更多转换。所以我尝试使用first()动作。但是使用first()动作,它只是向我显示屏幕上的输出但不能将它存储在另一个变量或RDD中。在python中有一种方法可以将操作的输出存储在变量或RDD中吗?
答案 0 :(得分:0)
第一个()应该在RDD上执行(不在文件上)
假设你有一个RDD开头 - “first()”和“take(1)”都应该起作用....
myvar1 = myRDD.take(1)
myvar2 = myRDD.first()
http://spark.apache.org/docs/latest/api/python/pyspark.html
<强>取(NUM)强>
获取RDD的第一个num元素。
首先扫描一个分区,然后使用该分区的结果来估计满足限制所需的额外分区数。
请注意,只有在期望结果数组很小的情况下才能使用此方法,因为所有数据都会加载到驱动程序的内存中。
>>> sc.parallelize([2, 3, 4, 5, 6]).cache().take(2)
[2, 3]
>>> sc.parallelize([2, 3, 4, 5, 6]).take(10)
[2, 3, 4, 5, 6]
<强>第一()强>
返回此RDD中的第一个元素。
>>> sc.parallelize([2, 3, 4]).first()
2