传递函数到spark不使用Pythonv1.2.0

3phpmpom  于 2021-05-30  发布在  Hadoop
关注(0)|答案(0)|浏览(232)

我有一个简单的程序从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次就被调用一次。我检查了日志,没有发现任何错误。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题