第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

相关推荐
m0_6530313613 分钟前
腾讯云认证考试报名 - TDSQL数据库交付运维专家(TCCE PostgreSQL版)
运维·数据库·腾讯云
TDengine (老段)28 分钟前
TDengine STMT2 API 使用指南
java·大数据·物联网·时序数据库·iot·tdengine·涛思数据
小马哥编程1 小时前
【iSAQB软件架构】架构决策记录-ADR
数据库·架构·系统架构·设计规范
萧鼎1 小时前
深度探索 Py2neo:用 Python 玩转图数据库 Neo4j
数据库·python·neo4j
用户Taobaoapi20142 小时前
母婴用品社媒种草效果量化:淘宝详情API+私域转化追踪案例
大数据·数据挖掘·数据分析
m0_653031362 小时前
腾讯云认证考试报名 - TDSQL数据库交付运维专家(TCCE MySQL版)
运维·数据库·腾讯云
power 雀儿2 小时前
集群聊天服务器---MySQL数据库的建立
服务器·数据库·mysql
G皮T3 小时前
【Elasticsearch】检索排序 & 分页
大数据·elasticsearch·搜索引擎·排序·分页·检索·深度分页
骑着王八撵玉兔4 小时前
【性能优化与架构调优(二)】高性能数据库设计与优化
数据库·性能优化·架构
想要入门的程序猿5 小时前
Qt写入excel
数据库·qt·excel