变更数据捕获策略
此策略允许摄取来自另一个 Neo4j 实例的 CDC 事件,这些事件可由配置为变更数据捕获策略的源连接器实例生成,也可由已弃用的Neo4j Streams插件生成。
变更数据捕获事件需要由源连接器的相同对应版本生成,并且必须使用支持模式的值转换器进行配置。 |
有两种子策略可用
模式子策略
模式
策略使用变更事件中声明的约束合并节点和关系,从而保留源模式结构。
此策略的配置需要声明要读取变更事件的主题列表。
"neo4j.cdc.schema.topics": "<COMMA_SEPARATED_LIST_OF_TOPICS>"
示例
假设您配置您的 Sink 连接器订阅的主题如下;
"topics": "topic.1,topic.2"
您需要通过提供要消费变更事件的主题列表来声明您希望使用 cdc.schema
策略。
"neo4j.cdc.schema.topics": "topic.1,topic.2"
每个变更事件都将被投影到图实体中。
考虑此节点创建事件
关系如下所示持久化,Sink 连接器使用 keys
或 schema
字段来插入/更新节点,无需额外的属性或标签。
考虑此关系创建事件
关系如下所示持久化,Sink 连接器使用变更事件中起始和结束节点的 keys
字段来创建或更新关系,同样无需额外的属性或标签。
创建 Sink 实例
根据以上示例,您可以使用以下配置之一。选择一个消息序列化格式示例,并将其保存为名为 sink.cdc.schema.neo4j.json
的文件到本地目录中。
使用此 REST 调用将配置加载到 Kafka Connect 中
curl -X POST http://localhost:8083/connectors \
-H 'Content-Type:application/json' \
-H 'Accept:application/json' \
-d @sink.cdc.schema.neo4j.json
现在您可以访问位于 http://localhost:9021/clusters
的 Confluent Control Center 实例。验证已配置的连接器实例正在 Connect
选项卡的 connect-default
下运行。
源 ID 子策略
源 ID
策略通过源实体的 elementId
或 id
值合并节点和关系,方法是将此值作为目标节点和关系的显式属性存储,并通过显式标签标记节点。
此策略的配置需要声明要读取变更事件的主题列表。您可以添加一个可选的标签名称作为标记,以及一个可选的属性名称来存储源实体的 elementId
或 id
值。
"neo4j.cdc.source-id.topics": "<comma-separated list of topics>"
"neo4j.cdc.source-id.label-name": "<the label attached to the node, default=SourceEvent>"
"neo4j.cdc.source-id.property-name": "<the property name given to the CDC id field, default=sourceId>"
示例
假设您配置您的 Sink 连接器订阅的主题如下;
"topics": "topic.1,topic.2"
您需要通过提供要消费变更事件的主题列表来声明您希望使用 cdc.source-id
策略。
"neo4j.cdc.source-id.topics": "topic.1,topic.2"
每个变更事件都将被投影到图实体中。
考虑此节点创建事件
节点如下所示持久化,Sink 连接器使用节点变更事件的 elementId
或 id
字段来创建或更新节点。
考虑此关系创建事件
关系如下所示持久化,Sink 连接器使用变更事件中起始和结束节点的 elementId
或 id
字段来创建或更新关系。
创建 Sink 实例
根据以上示例,您可以使用以下配置之一。选择一个消息序列化格式示例,并将其保存为名为 sink.cdc.source-id.neo4j.json
的文件到本地目录中。
使用此 REST 调用将配置加载到 Kafka Connect 中
curl -X POST http://localhost:8083/connectors \
-H 'Content-Type:application/json' \
-H 'Accept:application/json' \
-d @sink.cdc.source-id.neo4j.json
现在您可以访问位于 http://localhost:9021/clusters
的 Confluent Control Center 实例。验证已配置的连接器实例正在 Connect
选项卡的 connect-default
下运行。