如何在Spark中使用Python打印RDD

8

我在HDFS上有两个文件,我想要按照员工ID这一列将这两个文件连接起来。

我试图简单地打印这些文件,以确保我们从HDFS正确读取了它们。

lines = sc.textFile("hdfs://ip:8020/emp.txt")
print lines.count()

我也尝试使用foreach和println函数,但无法显示文件数据。 我在使用Python,并且对Python和Spark都很陌生。

1个回答

18

这很容易,只需要执行collect操作。

但是必须确保所有数据都适合主节点的内存。
my_rdd = sc.parallelize(xrange(10000000))
print my_rdd.collect()

如果不是这种情况,您必须使用 take 方法来获取一个样本。
# I use an exagerated number to remind you it is very large and won't fit the memory in your master so collect wouldn't work
my_rdd = sc.parallelize(xrange(100000000000000000))
print my_rdd.take(100)

另一个使用 .ipynb 的示例:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接