PySpark在Ubuntu和Mac中的结果不同

时间:2018-09-16 06:54:49

标签: python apache-spark dataframe pyspark

我正在pyspark.sql中使用DataFrame。为什么Ubuntu和Mac的输出不同?

我只使用10个文档,所以N = 10。我使用的公式是tf-idf = (1+log(tf))*log(N/df)。因此,您实际上可以看到Mac提供了正确的输出,但是Ubuntu(在VM内)提供了错误的输出。

我的tf-idf列是FloatType()。我使用udf函数进行了计算。

Ubuntu输出:

Ubuntu output

Mac输出:

Mac output

1 个答案:

答案 0 :(得分:3)

正如您在注释中提到的那样,您在Ubuntu中使用python 2.7,在Mac中使用Python 3.6。您的pyspark代码进行了除法(/

在python3中

>>> 3/2
1.5

在python2中

>>> 3/2
1

查看this answer,了解有关python2与python3划分以及如何调整解释器行为的详细信息。