我必须根据另一个数据框中的规则来运行和更新数据。首先,我将它们都复制到数据帧data_df和rules_df中,然后遍历规则,过滤数据并按如下所示更新数据
data_df.createOrReplaceTempView("data_table")
for rules in rules_df.collect():
sql_df = spark.sql("Select * from data_table where " + rules.CONDITION)
sql_df = sql_df.withColumn(rules.VARIABLE, rules.ACTION)
##need to update data_df from sql_df
##create new view data_table with updated data_df
每次迭代之后,我想从sql_df更新data_df并从更新的data_df创建新的data_table
我尝试了其他选项,例如join或
spark.table("data_table").cache
spark.catalog.refreshTable("data_table")
以上方法均无效,请提供帮助。
问候 Maxx