doris:导入概览

server/2025/1/17 12:50:28/

Apache Doris 提供了多种导入和集成数据的方法,您可以使用合适的导入方式从各种源将数据导入到数据库中。Apache Doris 提供的数据导入方式可以分为四类:

  • 实时写入:应用程序通过 HTTP 或者 JDBC 实时写入数据到 Doris 表中,适用于需要实时分析和查询的场景。

    • 极少量数据(5 分钟一次)时可以使用 JDBC INSERT 写入数据。

    • 并发较高或者频次较高(大于 20 并发或者 1 分钟写入多次)时建议打开 Group Commit,使用 JDBC INSERT 或者 Stream Load 写入数据。

    • 吞吐较高时推荐使用 Stream Load 通过 HTTP 写入数据。

  • 流式同步:通过实时数据流(如 Flink、Kafka、事务数据库)将数据实时导入到 Doris 表中,适用于需要实时分析和查询的场景。

    • 可以使用 Flink Doris Connector 将 Flink 的实时数据流写入到 Doris 表中。

    • 可以使用 Routine Load 或者 Doris Kafka Connector 将 Kafka 的实时数据流写入到 Doris 表中。Routine Load 方式下,Doris 会调度任务将 Kafka 中的数据拉取并写入 Doris 中,目前支持 csv 和 json 格式的数据。Kafka Connector 方式下,由 Kafka 将数据写入到 Doris 中,支持 avro、json、csv、protobuf 格式的数据。

    • 可以使用 Flink CDC 或 Datax 将事务数据库的 CDC 数据流写入到 Doris 中。

  • 批量导入:将数据从外部存储系统(如对象存储、HDFS、本地文件、NAS)批量加载到 Doris 表中,适用于非实时数据导入的需求。

    • 可以使用 Broker Load 将对象存储和 HDFS 中的文件写入到 Doris 中。

    • 可以使用 INSERT INTO SELECT 将对象存储、HDFS 和 NAS 中的文件同步写入到 Doris 中,配合 JOB 可以异步写入。

    • 可以使用 Stream Load 或者 Doris Streamloader 将本地文件写入 Doris 中。

  • 外部数据源集成:通过与外部数据源(如 Hive、JDBC、Iceberg 等)的集成,实现对外部数据的查询和部分数据导入到 Doris 表中。

    • 可以创建 Catalog 读取外部数据源中的数据,使用 INSERT INTO SELECT 将外部数据源中的数据同步写入到 Doris 中,配合 JOB 可以异步写入。

    • 可以使用 X2Doris 将其他 AP 系统的数据迁移到 Doris 中。

Doris 的每个导入默认都是一个隐式事务,事务相关的更多信息请参考事务。

导入方式快速浏览​

Doris 的导入主要涉及数据源、数据格式、导入方式、错误数据处理、数据转换、事务多个方面。您可以在如下表格中快速浏览各导入方式适合的场景和支持的文件格式。

导入方式使用场景支持的文件格式导入模式
Stream Load导入本地文件或者应用程序写入csv、json、parquet、orc同步
Broker Load从对象存储、HDFS等导入csv、json、parquet、orc异步
INSERT INTO VALUES通过JDBC等接口导入SQL同步
INSERT INTO SELECT可以导入外部表或者对象存储、HDFS中的文件SQL同步
Routine Load从kakfa实时导入csv、json异步
MySQL Load从本地数据导入csv同步
Group Commit高频小批量导入根据使用的导入方式而定

http://www.ppmy.cn/server/159086.html

相关文章

docker 与K8s的恩怨情仇

Docker 和 Kubernetes(通常简称为 K8s)是容器化和容器编排领域的两大重要工具,它们在技术生态中扮演着不同的角色,并且有着密切的关系。虽然有时候人们会讨论它们之间的关系,但实际上它们更多的是互补而不是对立。下面…

分布式 IO 模块:引领立体车库迈向智能化新时代

在城市空间愈发珍贵的当下,立体车库作为高效利用空间的停车解决方案,正日益普及。而明达技术MR30分布式 IO 模块的应用,如同为立体车库注入了智能 “芯” 动力,让停车变得更加便捷、高效、智能。 MR30分布式 IO 模块,作…

代码随想录算法训练营第十三天(2)|541. 反转字符串II

文档讲解:代码随想录 难度:easy 附:冲 passion!!!passion!!!passion!!! 541. 反转字符串II 力扣题目链接(opens new window) 给定一…

GitLab集成Jira

GitLab与Jira集成的两种方式 GitLab 提供了两种 Jira 集成,即Jira议题集成和Jira开发面板集成,可以配置一个或者两个都配置。 具体集成步骤可以参考官方文档Jira 议题集成(极狐GitLab文档)和Jira 开发面板集成(极狐G…

基于ADMM交替方向乘子法的超大规模储备系统分布式协同优化算法收敛性matlab仿真与分析

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于ADMM交替方向乘子法的超大规模储备系统分布式协同优化算法收敛性matlab仿真与分析。为了验证算法在超大规模储能系统中应用的可行性,在一个由10/21个子储能系统…

数据仓库的复用性:模型层面通用指标体系、参数化模型、版本化管理

在数据仓库设计中,复用性 是一个关键原则,它不仅能提升数据资产的使用效率,还能降低开发成本、优化系统运维。下面将从 模型层面的复用性、通用指标体系、参数化模型、版本化管理 四个方面进行详细介绍,并提供可落地的设计方案。 …

解决 Mac 系统上的 node-sass 问题

解决 Mac 系统(尤其是 M1/M2)上的 node-sass 问题 问题描述 在 Mac 系统上使用 node-sass 时,经常会遇到以下错误: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (108)或者…

63. 不同路径 II

63. 不同路径 II 题目-中等难度1. 题目-中等难度 给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角(即 grid[0][0])。机器人尝试移动到 右下角(即 grid[m - 1][n - 1])。机器人每次只能向下或者向右移动一步。 网格中…