gpt4 book ai didi

pyspark - 使用整数与小数值在 Pyspark 中进行过滤

转载 作者:行者123 更新时间:2023-12-02 20:27:57 25 4
gpt4 key购买 nike

我正在过滤 DataFrame,当我传递整数值时,它仅考虑那些在 DataFrame 列值四舍五入为整数时满足条件的值。为什么会发生这种情况?请参阅下面的屏幕截图,两个过滤器给出不同的结果。我正在使用 Spark 2.2。我用 python 2.6 和 python 3.5 进行了测试。结果是一样的。

enter image description here

更新

我用 Spark-SQL 尝试过。如果我不将该字段转换为 double ,它会给出与上面第一个相同的答案。但是,如果我在过滤之前将列转换为双倍,它会给出正确的答案。

enter image description here

最佳答案

lat > 60

给定一个 double 型和一个整数,spark 会隐式地将它们转换为整数。结果是合适的,显示纬度 >= 61

对于 lat >cast(60 as double)lat > 60.0给定两个 double Spark 返回集合中的所有内容 [Infinity, 60.0),如预期

这可能有点不直观,但您必须记住,spark 正在 IntegerType()DoubleType() 之间执行隐式转换

关于pyspark - 使用整数与小数值在 Pyspark 中进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49453228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com