如何将Spyder Python编写的If/Else语句转换为Databricks PySpark?

3zwjbxry  于 2023-11-16  发布在  Spark
关注(0)|答案(1)|浏览(138)

我正在寻找将Spyder中编写的Python if/else语句转换为Azure Databricks,我对PySpark还是个新手,不知道如何处理这个问题.

  1. length_df = df.shape[0]
  1. if(length_df>0):
  1. qry='''
  1. select *
  1. from df where idnum not in
  1. (select idnum from df_Prev)
  1. '''
  1. else:
  1. df_new= df_.copy()

我尝试使用When/Otherwise组合,我在我创建的pyspark对象框架上读到过,但一直出现错误,因为它似乎是预期的列。我知道我可以使用神奇的'%sql'命令来构建一个语句,但是ask是将其作为Python而不是SQL放在数据库中。

ss2ws0br

ss2ws0br1#

如果我对你的问题理解正确的话,你需要在pyspark中找到一种方法来过滤一个在另一个框架中不存在键的框架。
用于创建嵌套框架的代码:

  1. df = spark.createDataFrame(
  2. [
  3. (1, "something1"),
  4. (2, "something2"),
  5. (3, "something3"),
  6. ],
  7. ["id", "label"]
  8. )
  9. prev_df = spark.createDataFrame(
  10. [
  11. (2, "prev2")
  12. ],
  13. ["id", "label"]
  14. )

字符串
现在,使用反连接(返回不符合条件的行)来连接多个字符串:

  1. if df.count()>0:
  2. return_df = df.join(prev_df,"id","anti")
  3. else:
  4. return_df = df


显示结果:

  1. display(return_df)


的数据

展开查看全部

相关问题