在 ByteHouse 中,您可以直接通过 Kafka 或 Confluent Cloud 流式传输数据。Kafka 数据导入任务将持续运行,读取 Topic 中的消息。ByteHouse 的 Kafka 任务可以保证 exactly once
,您的数据在消费后即可立即访问。
同时可以随时停止数据导入任务以减少资源使用,并在任何必要的时候恢复该任务。ByteHouse 将在内部记录 offset,以确保停止/恢复过程中不会丢失数据。
支持的 Kafka/Confluent Cloud 版本:0.10 及以上。
必备权限
要将 Kafka 数数据迁移到ByteHouse,需要确保 Kafka 和 ByteHouse 之间的访问权限配置正确。
需要在Kafka中授予4个权限:
- 列出主题 (Topics)
- 列出消费者组 (Consumer group)
- 消费消息 (Consume message)
- 创建消费者,以及消费者组 (consumers & consumer groups)
有关通过 Kafka 授权命令行界面授予权限的更多信息,请单击此处。
创建任务
- 在ByteHouse控制台,点击数据加载页签,单击 新建导入任务 按钮,进入任务创建界面。
- 填写导入任务基本信息,并选择
Kafka 数据流
类型。
- 您可以选择已保存的数据源信息,如果没有已存在的数据源,您可以新建数据源。
- 勾选“火山内网 Shuttle 模式”,系统会新增一个“Shuttle VPC ID”填写框,您可以填写火山引擎队列消息kafka实例的私有网络VPC ID来连接。
说明
Q: 如何获取 VPC ID?
A: 访问“消息队列Kafka版”中的示例,在详情页面中的“私有网络”中可以找到具体的VPC ID。
Q:如何获取私网 IP 地址?
A: 点击上面的“私有网络”按钮,在新页面中切换到“网卡”页签,通过私有网络ID过滤,选择结果中的私网IP使用。
- 当前 Kafka 数据源支持以下四种鉴权模式,并支持 SSL 加密:
- None 无鉴权
- PLAINTEXT 鉴权(支持 SSL)
- SCRAM-SHA-256(支持 SSL)
- SCRAM-SHA-512(支持 SSL)
您可以将任何需要的名称填入源名称中,并提供 broker 地址(可以用逗号,
分隔)。如果您的 Kafka 需要身份验证,您可以选择授权模式并提供对应凭证。
- 选择数据源后,您可以进一步选择要加载的导入任务的 Topic。您可以选择为该 Topic 创建一个消费者组。然后您可以指定已支持的消费格式。
- 定义 Topic Schema 解析方式。
- 您可以为要加载的 Topic 选择一个表。首次使用时你可以基于解析的消息格式创建新表。
- Kafka 定制化筛选器:要在 Kafka 导入任务中使用定制化筛选器,请切换“定制化筛选器”按钮以打开文本框。输入过滤器设置,例如
WHERE column1 = 'abc'
。(注意,此功能仅适用于新建的Kafka 导入任务)
- 导入任务一旦创建后将处于暂停状态。然后您就可以开始操作这项任务了。
查看任务
在数据加载页面,您将看到所有类型的所有数据导入任务。
您可以如下图筛选按钮过滤任务:
操作任务
- 启动流式导入任务,请进入流式任务页面,然后单击
开启
。
- 如果需要停止流式任务,请进入到流式任务页面内,然后点击
停止
。
- 所有导入任务历史记录将保存在任务详细信息页面