第3.5章:StarRocks数据导入——Broker Load

注:本篇文章阐述的是StarRocks-3.2版本的Broker Load导入机制

一、概述

Broker Load导入方式支持从HDFS类的外部存储系统(例如:HDFS、阿里OSS、腾讯COS、华为云OBS等),支持Parquet、ORC、CSV、及 JSON 四种文件格式,且适用于数据文件数量较多且单个文件的大小超过10GB场景的异步导入方式。Broker Load 是一种基于 MySQL 协议的异步导入方式,提交导入作业以后,StarRocks 会异步地执行导入作业。

这种导入方式需要借助Broker组件来协助进行Broker Load。 Broker是StarRocks集群中一种可选进程,主要用于支持 StarRocks读写远端存储上的文件和目录 。Broker是一个独立的无状态进程,封装了文件系统接口,为StarRocks提供读取远端存储系统中文件的能力。通过部署的Broker程序,StarRocks可读取数据源上的数据,利用自身的计算资源对数据进行预处理和导入。

Broker 仅作为一个数据通路,并不参与任何计算,因此仅需占用较少的内存。通常一个 StarRocks系统中会部署一个或多个 Broker 进程。

官网文档关于Broker Load的介绍地址为:

BROKER LOAD | StarRocks

从本地文件系统导入 | StarRocks

Broker的介绍:

Broker - Apache Doris

二、Broker Load原理

2.1 流程图

2.2 流程详解

(1)用户在客户端创建broker load任务。

(2)fe在接收到用户的创建请求后,会根据请求导入的源文件的数据量和文件数量以及be的数量生成plan,并将plan分发到多个be节点上,每个be会负责一定数据量的导入任务。

(3)对应的be在接收到导入任务时,会通过broker进程,去远端存储系统上拉去相应的数据到对应的be上,在对数据 transform之后将数据导入StarRocks系统。

(4)所有be均完成导入,由fe最终决定导入是否成功,并返回最终结果给用户;

2.3 注意事项

(1)最好是每个be节点上创建一个broker进程,同时broker进程的名称保持一致,用户在发起导入任务的时候,可以尽可能的保证所有的broker进程和对应的be节点参与到导入任务中来,最大化的提高导入性能。

(2)源文件不建议是数量较多的碎片化小文件,同时也不建议是数据量比较大的数量较少的文件个数,可以酌情把小文件合并或者大文件拆分成数量为be倍数的个数,单个文件大概在几十到百GB 级别大小的文件。

2.4 应用案例

Broker Load导入案例,见文章:

第3.7章:StarRocks数据导入--Broker Load_starrocks broker load-CSDN博客

ps:Broker Load支持在导入过程中进行字段顺序调整或者进行简单的数据转换的,处理逻辑:"顺序占位取值"和"名称匹配数据",该逻辑贯穿整个StarRocks的导入操作中(核心的Stream Load等导入方式也是基于这种处理逻辑)

参考文章:

第3.7章:StarRocks数据导入--Broker Load_starrocks broker load-CSDN博客

Broker Load - Apache Doris

相关推荐
IT大白鼠5 分钟前
图数据库系列 · 第 02 篇——架构拆解:原生图存储到因果集群
数据库·架构·nosql
samLi062043 分钟前
【数据集】A股上市公司beta贝塔系数数据(2010-2024年)
大数据
EatFan1 小时前
从“框架混战“到“运行时收敛“:2026 年 AI Agent 开发框架的三条路线之争
java·数据库·人工智能·多智能体·ai agent·mcp·agent 框架
小蒜学长1 小时前
基于SpringBoot的佳新超市管理系统设计与实现系统(代码+数据库+LW)
java·数据库·spring boot·后端·佳新超市管理系统
xianghongtao01161 小时前
麦肯锡2026技术趋势03_科学发现与工程AI_研究解读
大数据·人工智能
jinyishu_1 小时前
向量数据库入门:记录结构、索引、检索与选型
数据库
成长之路5144 小时前
【数据集】中国分行业进出口数据(2019-2026年)
大数据
计算机毕业编程指导师4 小时前
【大数据毕设选题推荐】基于Spark的WTA职业网球赛事演变与竞技格局分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·python·计算机·spark·毕业设计·课程设计·wta网球
写后端的胖头鱼5 小时前
【高频面试题】FullText 全文索引(MySQL)
数据库·mysql·索引·全文索引