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. 目前社区活跃度低,基本由百度贡献
目录
相关文章
|
6天前
|
关系型数据库 Apache 流计算
手把手教你实现 OceanBase 数据到阿里云数据库 SelectDB 内核版 Apache Doris 的便捷迁移|实用指南
本文介绍了如何将数据从 OceanBase 迁移到阿里云数据库 SelectDB 内核版 Apache Doris。提供 3 种数据同步方法 1. 使用 DataX,下载 DataX 并编写配置文件,通过 OceanBaseReader 和 DorisWriter 进行数据迁移。 2. 利用 Apache Doris 的 Catalog功 能,将 OceanBase 表映射到 Doris 并插入数据。 3. 通过Flink CDC,设置 OceanBase 环境,配置 Flink 连接器,实现实时数据同步。
手把手教你实现 OceanBase 数据到阿里云数据库 SelectDB 内核版 Apache Doris 的便捷迁移|实用指南
|
5天前
|
SQL 存储 调度
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
一个合适的执行模型对于提高查询效率和系统性能至关重要。本文全面剖析 Apache Doris Pipeline 执行模型的设计与改造历程,并在 2.1 版本对并发执行模式与调度模式进一步优化,解决了执行并发受限、执行及调度开销大等问题。
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
|
3天前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之遇到报错:Apache Kafka Connect错误如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
18 5
|
6天前
|
SQL 大数据 BI
从离线到实时:无锡锡商银行基于 Apache Doris 的数据仓库演进实践
从离线到实时:无锡锡商银行基于 Apache Doris 的数据仓库演进实践
|
6天前
|
数据采集 机器学习/深度学习 Java
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
本文介绍了如何使用Java和Apache HttpComponents库从Facebook获取图像数据。通过设置爬虫代理IP以避免限制,利用HttpClient发送请求,解析HTML找到图像链接,然后下载并保存图片。提供的Java代码示例展示了实现过程,包括创建代理配置、线程池,以及下载图片的逻辑。注意,实际应用需根据Facebook页面结构进行调整。
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
|
6天前
|
存储 监控 Apache
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
网易的灵犀办公和云信利用 Apache Doris 改进了大规模日志和时序数据处理,取代了 Elasticsearch 和 InfluxDB。Doris 实现了更低的服务器资源消耗和更高的查询性能,相比 Elasticsearch,查询速度提升至少 11 倍,存储资源节省达 70%。Doris 的列式存储、高压缩比和倒排索引等功能,优化了日志和时序数据的存储与分析,降低了存储成本并提高了查询效率。在灵犀办公和云信的实际应用中,Doris 显示出显著的性能优势,成功应对了数据增长带来的挑战。
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
|
6天前
|
存储 SQL Apache
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
|
6天前
|
消息中间件 存储 算法
深入了解Kafka的数据持久化机制
深入了解Kafka的数据持久化机制
45 0
|
4天前
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版产品使用合集之想要加快消费 Kafka 数据的速度,该怎么配置参数
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
17 2
|
6天前
|
消息中间件 Kafka Apache
Flink 提供了与 Kafka 集成的官方 Connector,使得 Flink 能够消费 Kafka 数据
【2月更文挑战第6天】Flink 提供了与 Kafka 集成的官方 Connector,使得 Flink 能够消费 Kafka 数据
76 2

热门文章

最新文章

推荐镜像

更多