Apache Doris接入Kafka实时流数据

简介: 一.简述Apache Doris是由百度的Palo项目开源而来,整体架构分为两层:多个 FE 组成第一层,提供 FE 的横向扩展和高可用;多个 BE 组成第二层,负责数据存储于管理。FE 节点分为 follower 和 observer 两类。

一.简述

Apache Doris是由百度的Palo项目开源而来,整体架构分为两层:多个 FE 组成第一层,提供 FE 的横向扩展和高可用;多个 BE 组成第二层,负责数据存储于管理。

  1. FE 节点分为 follower 和 observer 两类。各个 FE 之间,通过 bdbje(BerkeleyDB Java Edition)进行 leader 选举,数据同步等工作。
  2. follower 节点通过选举,其中一个 follower 成为 leader 节点,负责元数据的写入操作。当 leader 节点宕机后,其他 follower 节点会重新选举出一个 leader,保证服务的高可用。
  3. observer 节点仅从 leader 节点进行元数据同步,不参与选举。可以横向扩展以提供元数据的读服务的扩展性。

二.Kafka实时流数据

Ⅰ).创建数据表

CREATE TABLE IF NOT EXISTS datasource_name.table_name(
  'id' LARGEINT NOT NULL,
  'name' VARCHAR(50) NOT NULL,
  'process_time' BIGINT SUM DEFAULT '0'
)
ENGINE=olap
AGGREGATE KEY('id','name')
DISTRIBUTED BY HASH('id') BUCKETS 16
PROPERTIES(
  "replication_num"="2",
  "storage_medium"="SSD",
  "storage_cooldown_time"="2020-01-01 12:00:00"
)

Ⅱ).动态插入列

drois数据库由于是列式存储,所以支持动态扩展列

ALTER TABLE datasource_name.table_name ADD COLUMN jsp_process_time BIGINT SUM DEFAULT '0' after process_time;

ALTER TABLE datasource_name.table_name ADD COLUMN ejb_process_time BIGINT SUM DEFAULT '0' after jsp_process_time;

Ⅲ).查看表结构

DESC datasource_name.table_name;

Ⅳ).配置Kafka routine load

CREATE ROUTINE LOAD datasource_name.kafka_load ON datasource_name.table_name
COLUMNS TERMINATED BY "|",
COLUMNS(id,name,process_time,jsp_process_time,ejb_process_time)
PROPERTIES(
  "desired_concurrent_number"="3",
  "max_batch_interval"="20",
  "max_batch_rows"="300000",
  "max_batch_size"="209715200"
)
FROM KAFKA(
  "kafka_broker_list"="hostname1:9092,hostname2:9092,hostname3:9092",
  "kafka_topic"="topic_name",
  "kafka_partitions"="0,1,2",
  "kafka_offsets"="0,0,0"
)

Ⅴ).查看routine load状态

SHOW ALL ROUTINE LOAD FOR datasource_name.kafka_load;

Ⅵ).常用routine load命令

a).暂停routine load

PAUSE ROUTINE LOAD FOR datasource_name.kafka_load;

b).恢复routine load

RESUME ROUTINE LOAD FOR datasource_name.kafka_load;

c).停止routine load

STOP ROUTINE LOAD FOR datasource_name.kafka_load;

d).查看所有routine load

SHOW [ALL] ROUTINE LOAD FOR datasource_name.kafka_load;

e).查看routine load任务

SHOW ROUTINE LOAD TASK datasource_name.kafka_load;

Ⅶ).查看数据

SELECT * FROM datasource_name.table_name LIMIT 10;

三.Apache Doris优缺点

优点

  1. 支持MySQL客户端的方式,查询访问数据源
  2. 支持数据列式存储,对数据列的动态增减方便
  3. BE、FE的扩容简单
  4. 支持在明细数据上的SUM、MIN、MAX等基本聚合统计
  5. 对RDBMS数据库有基础的,上手容易

缺点

  1. Doris编译,环境依赖重、编译过程问题多
  2. Doris数据格式支持较简单,不支持或json格式的数据
  3. 微批导入数据量不能超过1GB,而且不支持多文件同时导入
  4. streaming数据,需等数据streaming结束后才开始导入任务
  5. 导入过程中的出现异常数据会导致整个导入任务的失败(为保障数据的原子性和一致性)
  6. 目前社区活跃度低,基本由百度贡献
目录
相关文章
|
17天前
|
消息中间件 前端开发 Kafka
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls
|
5天前
|
SQL 消息中间件 Java
兼容Trino Connector,扩展Apache Doris数据源接入能力|Lakehouse 使用手册(四)
通过兼容 Connector 插件,Apache Doris 能够支持 Trino/Presto 可对接的所有数据源,而无需改动 Doris 的内核代码。
兼容Trino Connector,扩展Apache Doris数据源接入能力|Lakehouse 使用手册(四)
|
13天前
|
存储 消息中间件 运维
招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%
招联内部已有 40+ 个项目使用 Apache Doris ,拥有超百台集群节点,个别集群峰值 QPS 可达 10w+ 。通过应用 Doris ,招联金融在多场景中均有显著的收益,比如标签关联计算效率相较之前有 6 倍的提升,同等规模数据存储成本节省超 2/3,真正实现了降本提效。
招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%
|
6天前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
45 11
|
13天前
|
关系型数据库 MySQL API
Apache Doris集群部署
Apache Doris集群部署
|
13天前
|
消息中间件 存储 关系型数据库
实时计算 Flink版产品使用问题之如何使用Kafka Connector将数据写入到Kafka
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
13天前
|
消息中间件 监控 Kafka
实时计算 Flink版产品使用问题之处理Kafka数据顺序时,怎么确保事件的顺序性
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
13天前
|
消息中间件 Kafka 数据处理
实时数据流处理:Dask Streams 与 Apache Kafka 集成
【8月更文第29天】在现代数据处理领域,实时数据流处理已经成为不可或缺的一部分。随着物联网设备、社交媒体和其他实时数据源的普及,处理这些高吞吐量的数据流成为了一项挑战。Apache Kafka 作为一种高吞吐量的消息队列服务,被广泛应用于实时数据流处理场景中。Dask Streams 是 Dask 库的一个子模块,它为 Python 开发者提供了一个易于使用的实时数据流处理框架。本文将介绍如何将 Dask Streams 与 Apache Kafka 结合使用,以实现高效的数据流处理。
19 0
|
17天前
|
消息中间件 缓存 Kafka
【Azure 事件中心】使用Kafka消费Azure EventHub中数据,遇见消费慢的情况可以如何来调节呢?
【Azure 事件中心】使用Kafka消费Azure EventHub中数据,遇见消费慢的情况可以如何来调节呢?
|
18天前
|
消息中间件 Java Kafka
【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)
【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)

推荐镜像

更多
下一篇
DDNS