将函数传递给Spark不能使用python V1.2.0

时间:2014-12-27 01:22:52

标签: python hadoop apache-spark

我有一个简单的程序来从hdfs读取数据并使用map来操作它,但操作不能单行完成所以使用方法 -

from pyspark import SparkContext

if __name__ == "__main__":
    def myFunc(s):
        print("TESTING------------")
        words = s.split(" ")
        return len(words)

    sc = SparkContext("local[8]")
    sc.textFile("hdfs:///stats/test.csv").map(myFunc)

简单直接,在hdfs读取发生后,必须调用方法myFunc,但它永远不会被调用,但它适用于单行lambda -

csv.map(lambda x: (x.split(","), x))

我尝试使用这里提到的 - http://spark.apache.org/docs/latest/programming-guide.html

但是使用python方法myFunc在10次试用中被调用一次。 我检查了日志,找不到任何错误。

0 个答案:

没有答案