1

嗨,我正在使用 SnappyData 的 sql 实用程序从另一个表更新我的表,比如Table_A使用来自Table_B.

Table_A(col_key, col_value) -- partitioned table with large number of rows 
Table_B(col_key, col_value) -- small batch update in this table

理想情况下,MERGE将是理想的(如果匹配则更新,或者如果带有键的行不存在则插入Table_A

但是 SnappyData(或 Gemfire)不支持 MERGE,因此我计划先插入一个外连接来处理新的 col_key 行,然后更新以更新Table_A 同样col_key出现在Table_B.

然而, Gemfire似乎也不支持“update ... set ... from ...”

那么有没有办法在 SnappyData sql 语句中实现“update .. set .. from ..”?提前致谢 :)

4

2 回答 2

1

我刚刚发现 GemFire 实际上使用“ PUT INTO ”语句来支持其他 DBMS 的“插入或更新”(MERGE)功能。

TABLE_A基本上首先从存在的地方检索“旧”值col_key,将它们添加到TABLE_B,然后使用“PUT INTO”将这些行放入其中,Table_BTable_A完成了!

于 2017-04-12T22:40:45.173 回答
1

是的,您可以PUT INTO在使用 SQL 时使用,也可以使用Snappy Spark 扩展 API进行相同操作。

于 2017-04-12T23:02:58.387 回答