AutoMQ 生态集成 Apache Doris

简介: Apache Doris 是一个高性能的分析型数据库,以其亚秒级查询响应和对复杂分析的支持而知名。它适合报表分析、即席查询等场景,能从 AutoMQ 通过 Routine Load 导入 Kafka 主题数据。本文详述了如何配置 Doris 环境,创建测试数据,以及设置 Routine Load 作业从 AutoMQ 导入 JSON 数据到 Doris 表的过程。最后,文中展示了验证数据成功导入的方法。Apache Doris 提供了低成本、高弹性的数据处理解决方案,其团队由 Apache RocketMQ 和 Linux LVS 的核心成员组成。

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。本文将介绍如何使用 Apache Doris Routine Load 将 AutoMQ 中的数据导入 Doris。详细了解 Routine Load 请参考 Routine Load 基本原理文档。

01

环境准备

1.1 准备 Apache Doris 和测试数据

确保当前已准备好可用的 Apache Doris 集群。为了便于演示,我们参考 Docker 部署 Doris 文档在 Linux 上部署了一套测试用的 Doris 环境。创建库和测试表:


create database automq_db;
CREATE TABLE automq_db.users (
                                 id bigint NOT NULL,
                                 name string NOT NULL,
                                 timestamp string NULL,
                                 status string NULL

) DISTRIBUTED BY hash (id) PROPERTIES ('replication_num' = '1');

1.2 准备 Kafka 命令行工具

从 AutoMQ Releases 下载最新的 TGZ 包并解压。假设解压目录为 $AUTOMQ_HOME,在本文中将会使用 $AUTOMQ_HOME/bin 下的工具命令来创建主题和生成测试数据。

1.3 准备 AutoMQ 和测试数据

参考 AutoMQ 官方部署文档部署一套可用的集群,确保 AutoMQ 与 Doris 之间保持网络连通。在 AutoMQ 中快速创建一个名为 example_topic 的主题,并向其中写入一条测试 JSON 数据,按照以下步骤操作。

创建 Topic

使用 Apache Kafka 命令行工具创建主题,需要确保当前拥有 Kafka 环境的访问权限并且 Kafka 服务正在运行。以下是创建主题的命令示例:

 $AUTOMQ_HOME/bin/kafka-topics.sh --create --topic exampleto_topic --bootstrap-server 127.0.0.1:9092  --partitions 1 --replication-factor 1

注意:在执行命令时,需要将 topic 和 bootstarp-server 替换为实际使用的 AutoMQ Bootstarp Server 地址。

创建完主题后,可以使用以下命令来验证主题是否已成功创建。

 $AUTOMQ_HOME/bin/kafka-topics.sh --describe example_topic --bootstrap-server 127.0.0.1:9092

生成测试数据

生成一条 JSON 格式的测试数据,和前文的表需要对应。

 {
  "id": 1,
  "name": "测试用户",
  "timestamp": "2023-11-10T12:00:00",
  "status": "active"
}

写入测试数据

通过 Kafka 的命令行工具或编程方式将测试数据写入到名为 example_topic 的主题中。下面是一个使用命令行工具的示例:

 echo '{"id": 1, "name": "测试用户", "timestamp": "2023-11-10T12:00:00", "status": "active"}' | sh kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic example_topic

使用如下命令可以查看刚写入的 topic 数据:

 sh $AUTOMQ_HOME/bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic example_topic --from-beginning

注意:在执行命令时,需要将 topic 和 bootstarp-server 替换为实际使用的 AutoMQ Bootstarp Server 地址。

02

创建 Routine Load 导入作业

在 Apache Doris 的命令行中创建一个接收 JSON 数据的 Routine Load 作业,用来持续导入 AutoMQ Kafka topic 中的数据。具体 Routine Load 的参数说明请参考 Doris Routine Load。

 CREATE ROUTINE LOAD automq_example_load ON users
COLUMNS(id, name, timestamp, status)
PROPERTIES
(
    "format" = "json",
    "jsonpaths" = "[\"$.id\",\"$.name\",\"$.timestamp\",\"$.status\"]"
 )
FROM KAFKA
(
    "kafka_broker_list" = "127.0.0.1:9092",
    "kafka_topic" = "example_topic",
    "property.kafka_default_offsets" = "OFFSET_BEGINNING"
);

注意:在执行命令时,需要将 kafka_broker_list 替换为实际使用的 AutoMQ Bootstarp Server 地址。

03

验证数据导入

首先,检查 Routine Load 导入作业的状态,确保任务正在运行中。

 show routine load\G;

然后查询 Doris 数据库中的相关表,可以看到数据已经被成功导入。

 select * from users;
+------+--------------+---------------------+--------+
| id   | name         | timestamp           | status |
+------+--------------+---------------------+--------+
|    1 | 测试用户     | 2023-11-10T12:00:00 | active |
|    2 | 测试用户     | 2023-11-10T12:00:00 | active |
+------+--------------+---------------------+--------+
2 rows in set (0.01 sec)

END

关于我们

我们是来自 Apache RocketMQ 和 Linux LVS 项目的核心团队,曾经见证并应对过消息队列基础设施在大型互联网公司和云计算公司的挑战。现在我们基于对象存储优先、存算分离、多云原生等技术理念,重新设计并实现了 Apache Kafka 和 Apache RocketMQ,带来高达 10 倍的成本优势和百倍的弹性效率提升。

🌟 GitHub 地址:https://github.com/AutoMQ/automq
💻 官网:https://www.automq.com
👀 B站:AutoMQ官方账号
🔍 视频号:AutoMQ

目录
相关文章
|
13天前
|
存储 SQL BI
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
|
28天前
|
SQL 存储 Apache
Apache Doris 2.1.3 版本正式发布
Apache Doris 2.1.3 版本正式发布!该版本在功能特性上对数据湖、物化视图、负载管理等方面进行了多项更新,进一步简化湖仓一体架构、加速了查询性能。 欢迎大家下载体验~
|
1月前
|
SQL 存储 调度
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
一个合适的执行模型对于提高查询效率和系统性能至关重要。本文全面剖析 Apache Doris Pipeline 执行模型的设计与改造历程,并在 2.1 版本对并发执行模式与调度模式进一步优化,解决了执行并发受限、执行及调度开销大等问题。
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
|
1天前
|
存储 SQL 数据管理
基于阿里云数据库 SelectDB 版内核 Apache Doris 全新分区策略 Auto Partition 应用场景与功能详解
自动分区的出现进一步简化了复杂场景下的 DDL 和分区表的维护工作,许多用户已经使用该功能简化了工作流程,并且极大的便利了从其他数据库系统迁移到 Doris 的工作,自动分区已成为处理大规模数据和应对高并发场景的理想选择。
|
2天前
|
存储 消息中间件 Cloud Native
AutoMQ 生态集成 CubeFS
立方体文件系统(CubeFS)是一个云原生存储解决方案,现为CNCF孵化项目,支持S3、POSIX、HDFS等协议,提供多租户、多AZ部署和跨区域复制等功能,适用于大数据、AI、容器平台等场景。要部署AutoMQ集群,需先准备CubeFS集群,启用对象网关,创建用户并配置S3接口,然后创建Bucket。接着,下载AutoMQ二进制包,使用S3 URL生成器配置并启动集群,确保所有主机在同一网络并配置正确端口。启动时,先启动控制器,再启动Broker节点。注意,部署在私有数据中心时,需考虑SSD的可靠性,可能需要RAID配置。
35 4
|
13天前
|
弹性计算 JSON Cloud Native
Apache Doris 2.0.11 版本正式发布
Apache Doris 2.0.11 版本已于 2024 年 6 月 5 日正式与大家见面,该版本提交了 123 个改进项以及问题修复,进一步提升了系统的性能及稳定性,欢迎大家下载体验。
|
19天前
|
存储 运维 5G
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
数据是 5G 全连接工厂的核心要素,为支持全方位的数据收集、存储、分析等工作的高效进行,联通 5G 全连接工厂从典型的 Lambda 架构演进为 All in [Apache Doris](https://c.d4t.cn/vwDf8R) 的实时/离线一体化架构,并凭借 Doris 联邦查询能力打造统一查询网关,数据处理及查询链路大幅简化,为联通 5G 全连接工厂带来数据时效性、查询响应、存储成本、开发效率全方位的提升。
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
|
22天前
|
OLAP 数据处理 Apache
众安保险 CDP 平台:借助阿里云数据库 SelectDB 版内核 Apache Doris 打破数据孤岛,人群圈选提速4倍
众安保险在CDP(Customer Data Platform,客户数据平台)建设中,通过引入阿里云数据库SelectDB版内核Apache Doris,成功打破了数据孤岛,并显著提升了人群圈选的速度
194 1
|
23天前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
|
27天前
|
监控 关系型数据库 分布式数据库
【PolarDB开源】PolarDB开源生态构建:插件开发与第三方工具集成
【5月更文挑战第23天】PolarDB开源项目成熟,生态成为开发者关注点。其插件机制和接口设计允许添加自定义功能,无需修改核心代码,促进扩展建设。本文涵盖插件开发流程和第三方工具集成实践,如性能监控插件示例和数据迁移工具、监控系统集成。PolarDB通过开放生态与标准化接口,激发开发者潜力,共同推动数据库技术创新。
46 0

推荐镜像

更多