我正在Databricks笔记本上编写pyspark脚本以插入/更新/查询cassandra表,但是我找不到从表中删除行的方法,我尝试了spark sql:
spark.sql("DELETE from users_by_email where email_address IN ('abc@test.com')")
我也看不到有可能使用dataframe删除数据。有什么解决方法吗?
答案 0 :(得分:0)
Spark不允许在数据帧上进行update
和Delete
查询。您需要在代码中使用Python外部API进行删除。
您可以在下面的Python API中进行检查,该API提供了.delete()
删除功能。
答案 1 :(得分:0)
您可以加载数据框并对其进行过滤:
import pyspark.sql.functions as f
df = spark.sql("SELECT * from users_by_email")
df_filtered = df.filter(f.col("email_address") == "abc@test.com")
然后,您可以使用覆盖选项将数据框保存,也可以保存在新表中。