Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 雪花-在每次合并到中时自动创建哪种类型的阶段表?_Sql_Database_Apache Spark_Pyspark_Snowflake Cloud Data Platform - Fatal编程技术网

Sql 雪花-在每次合并到中时自动创建哪种类型的阶段表?

Sql 雪花-在每次合并到中时自动创建哪种类型的阶段表?,sql,database,apache-spark,pyspark,snowflake-cloud-data-platform,Sql,Database,Apache Spark,Pyspark,Snowflake Cloud Data Platform,我想将Spark数据帧写入雪花表。我正在使用for Spark,并将通过MERGE-into语句传递一个“query”选项,如下所示: merge_query = "merge into target_table using stage_table on target_table.id = stage_table.id when matched then update set target_table.description = s

我想将Spark数据帧写入雪花表。我正在使用for Spark,并将通过MERGE-into语句传递一个“query”选项,如下所示:

merge_query =  "merge into target_table using stage_table 
        on target_table.id = stage_table.id
        when matched then 
        update set target_table.description = stage_table.description"

df.write
    .format(SNOWFLAKE_SOURCE_NAME)
    .options(sfOptions)
    .option("query", "merge_query")
    .mode(SaveMode.Overwrite)
    .save()
我没有任何外部源表,希望找到一种方法每次都覆盖阶段数据,然后将其合并到目标表。但我不太明白在这种情况下我应该使用哪种类型的舞台。在使用“合并到”时,“雪花表”阶段上没有指定适合的类型。我需要一个像雪花自动创建的临时舞台台这样的东西


对于上述示例,是否会自动创建
stage_表
?如果我不想显式地创建任何stage表,那么应该如何命名呢?

现在有了自动创建任何表的方法。您可以在程序中创建一个临时表,然后将数据加载到该表中并进行合并。临时表仅对会话可用,并将在会话结束时(即作业结束时)自动删除。会话表对任何其他会话都不可见。您可以创建临时表,如下所示

CREATE TEMPORARY TABLE <STG_TABLE_NAME>(FILED 1 VARCHAR, ...)
创建临时表(字段1 VARCHAR,…)
希望这对你有用