将数据更新插入到 Snowflake 中?

Upserting data into Snowflake?

提问人:Pepria 提问时间:11/17/2023 更新时间:11/17/2023 访问量:20

问:

我有一个用例,我需要以编程方式将数据从一个或多个 JSON 文件复制到 Snowflake 表中。但是,当我复制文件时,我还需要对记录进行更新插入。例如,如果我从以下 JSON 开始:

[
    {
        "id": 12323,
        "firstName": "Joe",
        "lastName": "Johnson",
        "email": "[email protected]"
    }
]

我想将此记录复制到目标表的列中。VARIANT

然后我会得到另一个包含以下数据的 JSON 文件:

[
    {
        "id": 12323,
        "firstName": "Joe",
        "lastName": "Johnson",
        "email": "[email protected]"
    },
    {
        "id": 45613,
        "firstName": "Jane",
        "lastName": "Doe",
        "email": "[email protected]"
    }
]

第一条记录具有相同的字段,因此它是更新,而第二条记录将是插入,因此我的目标表现在将有两行。大规模实现此类目标的最佳方法是什么(每个更新插入器有大量 json 文件,同时有很多不同的并发更新插入)?我知道 Snowflake 支持 JDBC 和 Spark,但我不确定是否有有效的方法来处理这种情况。id

apache-spark jdbc snowflake-cloud-data-platform 更新插入

评论

0赞 Mike Walton 11/17/2023
加载时复制到表中,在其上放置流,然后运行合并。可以使用基于新数据是否已加载到流中的任务自动执行合并。通过使用更大的仓库并行处理文件加载,可以轻松处理大量文件。多集群仓库可用于 MERGE 语句来处理并发。

答: 暂无答案