Skip to main content

从 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'
);