ByteHouse(云数仓版)支持通过 Kafka 流式传输数据。本文档介绍如何将日志服务中的日志数据通过 Kafka 协议消费到 ByteHouse。
日志服务支持通过 Kafka 协议消费指定日志主题中的日志数据,例如消费到 ByteHouse(云数仓版)中进行进一步的分析处理。在 ByteHouse 中创建 Kafka 数据导入任务之后,可以直接通过 Kafka 流式传输数据。数据导入任务将自动运行,持续读取日志主题中的日志数据,并将其写入到指定的数据库表中。
消费日志时,支持仅消费其中的部分字段,并设置最大消息大小等配置。同时您可以随时停止数据导入任务以减少资源使用,并在任何必要的时候恢复该任务。ByteHouse 将在内部记录 offset,以确保停止和恢复过程中不会丢失数据。
通过 ByteHouse 消费日志时,涉及日志服务读流量费用。推荐使用私网服务地址,通过私网消费日志数据,对应的内网读流量费用请参考计费项与价格。
日志消费到 ByteHouse 之后,在 ByteHouse 侧会产生存储费用。如果针对这些数据进行实时查询分析,还会产生一定的计算费用。详细的价格请参考计费概述。
Action ConsumeLogs
的权限。详细信息请参考可授权的操作。通过 ByteHouse 消费日志时,最大可消费的日志大小为 128KB,超过限制的日志数据将无法被成功消费到 ByteHouse。该限制由数据导入任务的 Max Block Size 配置指定,该配置的取值范围为 65,536~131,072 字节,即最大 128KB。
ByteHouse 控制台提供新版和旧版数据加载界面,本文档以旧版数据加载控制台界面为例演示新建 Kafka 数据源和新建数据导入任务步骤。
在数据库页面的左上角单击 + 新建数据库。
填写数据库的基本信息。
配置 | 说明 |
---|---|
数据库名称 | 数据库的名称,只能包含字母、数字和下划线( |
数据库描述 | 数据库的描述信息。 |
单击创建。
在顶部导航栏单击数据加载。
在页面左上角单击数据源。
在数据源页面中,单击 + 连接新源。
选择数据源类型为 Kafka 数据流。
填写 Kafka 源的基本信息。
配置 | 说明 |
---|---|
源名称 | Kafka 数据源的名称。 |
Kafka 代理列表 IP 地址 | 初始连接的集群地址。格式为
|
身份验证模式 | 身份验证机制。此处应维持默认设置 PLAIN。 |
SSL | 是否开启 SSL。此处应维持默认的开启状态。 |
用户名 | 应配置为日志服务的日志项目 ID。 |
密码 | 应配置为火山引擎账户密钥。格式为
说明 如果当前登录用户为 IAM 用户,则此处应配置为 IAM 用户的密钥。 |
单击连接。
在顶部导航栏单击数据加载。
在页面左上角单击 + 新建数据加载。
填写基本信息。
配置 | 说明 |
---|---|
任务名称 | 数据导入任务的名称。长度为 1~128 个字符。 |
任务描述 | 数据导入任务的描述信息。 |
选择数据源。
配置 | 说明 |
---|---|
分类 | 选择 Kafka 数据流。 |
数据源 | 选择步骤 4 中创建的 Kafka 数据源。 |
Topic | Kafka 协议消费主题 ID,格式为 |
消费者组 | Kafka 消费组,用于消费指定日志主题中的日志数据。 |
格式 | 数据格式。此处应固定为 JSON_KAFKA。 |
选择目标表。
配置 | 说明 |
---|---|
目标数据库 | 日志服务日志数据在 ByteHouse 中存储的数据库名称。 |
目标表 | 日志服务日志数据在 ByteHouse 中存储的表名称。 |
定义 Schema 映射。 设置日志服务中日志数据和 ByteHouse 中数据表的字段映射关系。指定映射关系之后,指定字段在 ByteHouse 中将以对应的列名及数据类型进行存储。
说明
设置导入任务配置。
配置 | 说明 |
---|---|
加载类型 | 数据加载的方式。当前仅支持增量写入,即在每次执行作业中,日志数据将被增量写入到目标表,存量数据不会被覆盖。 |
Max Block Size | 最大消息大小。单位为字节,取值范围为 65,536~131,072 字节,即最大可设置为 128 KB。 |
单击创建。 成功创建数据导入任务之后,该任务将自动运行,持续通过 Kafka 协议流式消费日志服务中的日志数据。如果需要暂停数据导入任务,可以在导入任务的详情页右上角单击停止。
执行计划 > 实时数据加载页面中展示当前已创建的实时数据导入任务的运行信息。单击导入任务的名称即可查看详细信息。
展示项 | 说明 | |
---|---|---|
基本信息 | 数据源 | Kafka 数据源名称。 |
主题 | Kafka 数据源的 Topic,即日志服务 Kafka 协议消费主题 ID。 | |
消费者群组 | ByteHouse 中的消费者群组名称。 | |
目标数据表 | 日志服务日志数据在 ByteHouse 中存储的表名称。 | |
引入的记录总数 | 已成功导入的日志数量。 | |
创建日期 | 导入任务的创建日期。 | |
同步历史记录 | 每次暂停后再次开启任务,后台会创建一个新的执行记录。同步历史记录页签中展示该任务所有执行记录的执行 ID、执行的开始时间、状态和时长。此外还同步展示近14天中每天的导入记录数据变化情况。其中,各种状态的说明请参考同步状态说明。 | |
Schema Mapping | Schema 映射信息,即源列、源数据类型和目标列、目标数据类型的映射关系。 | |
消费状态 | 默认展示该导入任务最近 15 分钟的消费情况,即当前偏移量、未消费消息数和消费速度。 | |
错误日志 | 默认展示该导入任务所有执行记录的错误信息。 | |
配置 | 默认展示该导入任务 JSON 格式的配置详情。 |
数据导入任务的同步状态说明如下。
状态 | 说明 |
---|---|
资源分配中 | 开启数据导入任务后,后端正在分配对应的计算资源时。资源分配完成后将进入到正在运行状态。 |
正在运行 | 数据导入任务正常运行中。 |
已停止 | 数据导入任务已停止。 |
导入失败 | 数据导入任务失败。可能原因包括配置冲突、数据异常。建议检查配置和数据源之后重新启动导入任务。 |