PySpark - обновить Dataframe из временного представления или другого dataframe - PullRequest
0 голосов
/ 24 марта 2019

Мне нужно запустить и обновить данные на основе правил в другом кадре данных. Сначала я копирую оба в dataframes 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

После каждой итерации я хочу обновить data_df из sql_df и создать новую data_table из обновленных data_df

Я пробовал разные варианты, такие как объединение или

spark.table("data_table").cache
spark.catalog.refreshTable("data_table")

Ничто из вышеперечисленного не помогло, пожалуйста, помогите.

С уважением Maxx

...