提问人:ByUnal 提问时间:11/16/2023 最后编辑:Thom AByUnal 更新时间:11/17/2023 访问量:37
如何执行 T-SQL 操作 UPDATE ...设置。。。在 Pyspark 中?
How to do T-SQL operations UPDATE ... SET ... in pyspark?
问:
我有需要在pyspark中编码的T-SQL查询。但是,Pyspark 并不支持所有 SQL 操作,因此您必须相应地构建自己的逻辑。我已经设法转换了许多查询,但我无法确定如何在Pyspark中执行此操作。
下面是 T-SQL 查询:Here is the T-SQL query:
UPDATE #TERT A SET TARIH=B.DTARIH
FROM KMLK B
WHERE A.NO=B.NO
AND A.TARIH=''
AND B.DURUM=1
你能帮我制作更新吗?pyspark 中的 SET 逻辑?
答:
-1赞
Danish Khan
11/16/2023
#1
我会建议你,你应该在你想要改变的地方给出一个参考 喜欢
更新 *tablename set name=“Danish”,其中 Address=“..................” 在这里,我们给出了更改名称的参考,地址是这个
评论
0赞
ByUnal
11/17/2023
#2
我想我已经找到了解决方案。正如你们大多数人所知道的,可能有几种方法可以在 SQL 中编写相同的逻辑。从这个意义上说,我们可以找到一种在Pyspark中以不同的方式进行UPDATE-SET操作的方法。“SET”表示根据筛选器(或 Where 条件)将一个列值更改为另一个列值,而 UPDATE 表示相应地更新相关表。所以;
## Assuming we have loaded the #TERT table into dataframe, which is tert_df in that case. Then,
tert_df = tert_df.alias("A").join(kmlk_df.alias("B"),(col("A.no") == col("B.no")))\
.filter((col("A.durum") != "") & (col("B.durum") == 1))\
.withColumn("A.tarih", col("B.dtarih")).select("A.*")
withColumn()
做我猜的工作。这是相关文件。
希望它有效。
评论