Skip to main content

数据导入概述

可以通过两种方式将数据导入 RisingWave:

  • 从数据库和消息代理等外部 Source 连接并摄取数据。
  • 使用 SQL 语句直接在表中插入、更新或删除数据。

从外部数据源摄取数据

要让 RisingWave 从外部数据源摄取数据,需要在 RisingWave 中创建一个 Source(CREATE SOURCE)或带有连接器设置的表(CREATE TABLE)。

创建 Source 的句法与创建带连接器设置的表类似:

CREATE {TABLE | SOURCE} source_or_table_name 
[optional_schema_definition]
WITH (
connector='kafka',
connector_parameter='value', ...
)
...

在 RisingWave 中为表指定连接器设置后,该表就能存储流数据。但是,在 RisingWave 中,带连接器设置的表不同于 Source。

  • Source 不会持久化流入的数据。它只持久化物化视图的结果。它只接受 append-only 数据,如应用程序事件或日志信息。
  • 带有连接器设置的表会持久化流入的所有数据。它既接受 append-only 数据,也接受可更新的数据。要接受可更新的数据,需要在创建表时指定主键。CDC Source 和 Upsert 格式的 Kafka 数据就是可更新的数据。

无论数据是否在 RisingWave 中持久化,都可以创建物化视图来对其进行转换或分析。

向表中插入数据(不使用连接器)

还可以通过创建表(CREATE TABLE)和向表中插入数据(INSERT)来将数据加载到 RisingWave 中。

支持的 Source 和格式

有关支持的 Source 和格式的完整列表,请参阅 支持的 Source 和格式