数据导入概述
可以通过两种方式将数据导入 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 和格式。