gpt4 book ai didi

dataframe - Spark数据帧过滤器问题

转载 作者:行者123 更新时间:2023-12-04 09:35:59 30 4
gpt4 key购买 nike

来自这里的 SQL 背景.. 我正在使用 df1 = spark.read.jdbc将数据从 Azure sql 加载到数据帧中。我正在尝试过滤数据以排除满足以下条件的行:

df2 = df1.filter("ItemID <> '75' AND Code1 <> 'SL'")
数据框最终为空,但是当我运行等效的 SQL 时它是正确的。当我把它改成
df2 = df1.filter("ItemID **=** '75' AND Code1 **=** 'SL'") 

它产生我想过滤掉的行。
删除符合条件的行以便将它们推送到 SQL 服务器的最佳方法是什么?
谢谢

最佳答案

在 SQL 世界中,<>意味着 Checks if the value of two operands are equal or not, if values are not equal then condition becomes true.它在 spark sql 中的等价物是 != .因此,过滤器内的 sql 条件变为-

# A != B -> TRUE if expression A is not equivalent to expression B; otherwise FALSE
df2 = df1.filter("ItemID != '75' AND Code1 != 'SL'")
=在 spark sql 中与 ansi sql 具有相同的含义
df2 = df1.filter("ItemID = '75' AND Code1 = 'SL'")

关于dataframe - Spark数据帧过滤器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62584430/

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