ByteHouse 企业版支持通过 Kafka 进行实时数据写入。本文介绍了如何使用 ByteHouse 企业版控制台进行 Kafka 流式导入。
相比通过引擎插入(INSERT)数据,ByteHouse 企业版控制台的 Kafka 流式导入功能具有以下特点:
更多实现原理请参考 HaKafka 引擎文档。
如果您使用的是火山引擎云原生消息引擎 BMQ,需在 BMQ 控制台完成以下配置操作:
在右侧数据源配置界面,根据界面提示,依次输入以下信息:
参数项 | 配置说明 |
|---|---|
源类型 | 选择 Kafka 数据源类型。 |
源名称 | 任务名称,和其他任务不能重名。 |
Kafka 代理列表 | 填写对应的 Kafka Broker 地址。填写时,请务必填写您使用的接入点所有 Broker 节点的 IP 地址。如果需要填写多个 Broker 地址,请用逗号(,)进行分割。如 |
身份验证模式 | 当前 Kafka 数据源支持四种鉴权模式,包括 NONE 无鉴权、PLAIN、SCRAM-SHA-256、SCRAM-SHA-512,并支持 SSL 加密,您可根据 Kafka 代理列表 IP 地址的端口号勾选,对应关系如下:
|
安全协议 | 支持选择 SASL_PLAINTEXT、SASL_SSL 协议类型。 |
用户名、密码 | 填写有权限访问 Kafka 实例的用户名和密码信息。 |
数据源信息填写完成后,单击确定按钮,进行数据源连通性测试,连通成功后,即代表数据源创建成功。
在 Kafka 数据源下,单击新建导入任务,进入新建导入任务配置界面,并完成以下信息配置:
参数 | 说明 |
|---|---|
通用信息 | |
任务名称 | 填写导入任务名称信息,支持数字、字母及下划线,不能以数字开头,最多仅支持 128 字符,且不能和现有任务重名。 |
描述 | 输入该导入任务相关描述信息,方便后续维护管理。 |
选择数据源 | |
源类型 | 选择 Kafka 数据源类型。 |
数据源 | 下拉选择已创建成功的 Kafka 数据源。 |
Topic | 下拉选择 Kafka 数据源中的已有的 Topic 信息。 |
Group 名称 | Kafka Consumer Group 名称。非必填,若不填则系统自动生成 Group 名称。 |
自动重设 Offset | 指初次启动任务时,Kafka 最新生产的数据开始消费的 offset,第二次启动任务时,会从上次消费暂停的 offset 恢复。 |
格式 | 消息格式,目前最常用 JSONEachRow。 |
分隔符 | 输入消息分隔符,一般使用 '\n'。 |
消费者个数 | 消费者个数,每个消费者会创建一个线程。 |
写入 Block Size | 写入的 block_size 大小。 |
选择目标表 | |
目标数据库 | 下拉选择数据导入的目标 ByteHouse 数据库。 |
目标数据表 | 下拉选择数据导入的目标 ByteHouse 表。 |
目标 Schema 配置 | |
提取 Schema | 此处配置 Kafka 中的信息和 ByteHouse 表信息的映射,建议使用“数据映射”功能,通过 JSON 或 SQL 方式,抽样提取 Kafka 消息进行自动匹配,字段映射新增方式,您可选择覆盖添加和增量添加方式,匹配需要符合以下规则:
|
所有源列和目标列都完成匹配后,单击页面右下角的提交按钮。提交后,就可以在数据导入对应的数据源下看到新的导入任务。任务创建完成后,会直接开始 Kafka 消费任务。
单击导入任务名称,可以看到当前导入任务的执行情况,信息包括:任务执行 ID、开始时间、时长、导入记录数等信息。
导入任务创建完成后,您可在执行计划中,看到所有导入任务的具体执行情况。您可单击执行 ID,查看某个任务的执行详情。
在数据导入界面下,单击左侧执行计划按钮,进入到执行计划列表,您可根据以下筛选项,进行执行计划筛选: