从 RisingWave 导出数据到 CockroachDB
CockroachDB 是一个由 Cockroach Labs 开发的分布式 SQL 数据库系统,专为可扩展性和弹性而设计。由于 CockroachDB 与 PostgreSQL 兼容,因此您可以使用 JDBC Sink 连接器将数据从 RisingWave 导出到 CockroachDB。
您可以通过使用 RisingWave 仓库的 integration_test 目录
中的 cockroach-sink
Demo 在您自己的设备上测试此过程。
开始之前
确保您已经有一个可以访问的目标 CockroachDB 表。 有关设置 CockroachDB 的更多指南,请参见此 快速上手指南。
确保您有一个可以从中导出数据的上游物化视图或 Source。
如果您是在本地从二进制文件运行 RisingWave,并且打算使用原生 CDC Source 连接器或 JDBC Sink 连接器,请确保您的环境中安装了 JDK 11 或更高版本。
句法和参数
由于 CockroachDB 与 PostgreSQL 兼容,因此其句法和参数与创建 PostgreSQL Sink 相同。有关句法和参数,请参见 创建 Sink。
示例
假设我们有一个物化视图 mv1
,我们想要将数据从 mv1
导出到 CockroachDB 中名为 target_count
的表。以下 SQL 查询通过在 RisingWave 中创建一个名为 sink1
的 Sink 来实现这一点。
CREATE SINK sink1
FROM mv1
WITH (
connector = 'jdbc',
jdbc.url = 'jdbc:postgresql://cockroachdb:26257/defaultdb?user=root',
table.name = 'target_count',
type = 'upsert',
primary_key = 'target_id'
);