第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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/697452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue里echarts的使用:画饼图和面积折线图

vue里echarts的使用,我们要先安装echarts,然后在main.js里引入: //命令安装echarts npm i echarts//main.js里引入挂载到原型上 import echarts from echarts Vue.prototype.$echarts = echarts最终我们实现的效果如下: 头部标题这里我们封装了一个全局公共组件common-he…

qt 软件发布(Windows)

1. 开发环境 QtCreator MSVC编译器 2. 源码编译 生成release或者debug版本的exe可执行文件(x64或x86) 3. windeployqt 打包 ①左下角开始菜单栏找到QT的命令交互对话框,如下图MSVC 2017 64-bit(根据第二步编译的类型选择64位或者32位)。 ②cd 切换到第二步可…

TCP/IP协议详解

文章目录 TCP/IP协议概述基于TCP/IP协议的应用工具协议协议的必要性 TCP/IP协议TCP/IP协议族协议的分层 传输方式的分类报文、帧、数据包等的区别TCP 和 UDP的区别 TCP/IP协议概述 TCP/IP(Transmission Control Protocol/Internet Protocol)是一组通信协…

《图解HTTP》笔记2:http的构成

1,查看浏览器上面一个具体的http请求 浏览器地址栏输入网址:https://news.baidu.com/ 使用浏览器的开发者工具,查看网络中发送和接受的数据。 可以看到输入一个网址,浏览器和服务器进行了很多的交互。(绿色部分&#…

python + selenium/appnium

Selenium 的自动化原理: selenium 自动化流程: 自动化程序调用Selenium 客户端库函数(比如点击按钮元素)客户端库会发送Selenium 命令 给浏览器的驱动程序浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令浏览器执行命令浏览器驱动程序获取命令执行的…

ubuntu环境下openssl库的简单使用

安装 sudo apt-get install libssl-devaes算法demo 编译&#xff1a;gcc aes.c -lssl -lcrypto -o aes 运行&#xff1a;./aes #include<stdio.h> #include<stdlib.h> #include<string.h> #include<openssl/aes.h>#define AES_KEY_SIZE 128 // AES密…

UNI-APP_app跳转企业微信客服对话

uniapp打包app&#xff0c;app里点击客服&#xff0c;跳转企业微信客服对话。为什么是企业微信&#xff1f;因为只有微信小程序才可以通过 button 的 open-type‘share’ 打开微信客服对话框&#xff08;微信客服要在公众号平台配置&#xff09; 1、appId获取 &#xff08;1&a…

OJAC近屿智能张立赛博士揭秘GPT Store:技术创新、商业模式与未来趋势

> - [Look&#xff01;&#x1f440;我们的大模型商业化落地产品](https://www.airecruitas.com/aigc) >- &#x1f4d6;更多AI资讯请&#x1f449;&#x1f3fe;[关注](https://mp.weixin.qq.com/s/85qwuIydaaydMQz2g0rgMA) >- [Free三天集训营助教在线为您火热答疑…

C#_各式各样的参数(引用参数、输出参数、数组参数、具名参数、可选参数)

引用参数 值参数和引用参数的区别在于传参时是否会创建参数副本&#xff1a;值参数不会创建副本&#xff0c;而引用参数会创建副本。 换言之&#xff0c;值类型参数的参数与实体之间无直接关联&#xff0c;修改参数不会对实体产生影响&#xff1b;引用类型参数的参数与实体可视…

6.微格式

微格式 经典真题 知道什么是微格式吗&#xff1f;谈谈理解。在前端构建中应该考虑微格式吗&#xff1f; 微格式介绍 所谓微格式&#xff0c;是建立在已有的、被广泛采用的标准基础之上的一组简单的、开放的数据格式。 具体表现是把语义嵌入到 HTML 中&#xff0c;以便有助…

通过SSH 可以访问Ubuntu Desktop吗?

你可以在 Ubuntu Desktop 上开启 SSH 服务&#xff0c;以便其他机器可以通过 SSH 连接到你的服务器。以下是在 Ubuntu Desktop 上开启 SSH 服务的步骤&#xff1a; 打开终端 (Terminal) 应用程序。 输入以下命令安装 OpenSSH 服务器&#xff1a; sudo apt-get update sudo ap…

多任务爬虫(多线程和多进程)

在一台计算机中&#xff0c;我们可以同时打开多个软件&#xff0c;例如同时浏览网页、听音乐、打字等&#xff0c;这是再正常不过的事情。但仔细想想&#xff0c;为什么计算机可以同时运行这么多软件呢? 这就涉及计算机中的两个名词&#xff1a;多进程和多线程。 同样&#xf…

通信入门系列——锁相环、平方环、Costas环

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 本节目录 一、锁相环 1、压控振荡…

重磅!MongoDB推出Atlas Stream Processing公共预览版

日前&#xff0c;MongoDB宣布推出Atlas Stream Processing公共预览版。 在Atlas平台上有兴趣尝试这项功能的开发者都享有完全的访问权限&#xff0c;可前往“阅读原文”链接点击了解更多详细信息或立即开始使用。 开发者喜欢文档型数据库的灵活性、易用性以及Query API查询方…

使用k-近邻算法改进约会网站的配对效果(kNN)

目录 谷歌笔记本&#xff08;可选&#xff09; 准备数据&#xff1a;从文本文件中解析数据 编写算法&#xff1a;编写kNN算法 分析数据&#xff1a;使用Matplotlib创建散点图 准备数据&#xff1a;归一化数值 测试算法&#xff1a;作为完整程序验证分类器 使用算法&…

js过滤取出对象中改变的属性和值

朋友公司的面试题 &#xff0c;取出对象中被改变的属性和值 const obj1 { a: 1, b: 2, c: 4 }; const obj2 { a: 1, b: 2, c: 5 }; 方法1 function testFun(obj1, obj2) {const diff {};const keys1 Object.keys(obj1);const keys2 Object.keys(obj2);const allKyes keys…

【深度学习】Gemini 1.0 Pro 如何让chatGPT扮演stable diffusion的提示词工程师

google也出了一个chatGPT&#xff0c;免费申请使用&#xff1a; https://aistudio.google.com/app/prompts/new_chat https://github.com/google/generative-ai-docs/blob/main/site/en/tutorials/rest_quickstart.ipynb 模型信息&#xff1a; $ curl https://generativelan…

SpringCloud(14)之SpringCloud Consul

我们知道 Eureka 2.X 遇到困难停止开发了&#xff0c;所以我们需要寻找其他的替代技术替代Eureka&#xff0c;这一小 节我们就讲解一个新的组件Consul。 一、Consul介绍 Consul 是 HashiCorp 公司推出的开源工具&#xff0c;用于实现分布式系统的服务发现与配置。与其它分布式…

kali xrdp

Kali Linux 使用远程桌面连接——xrdp&xfce_kali xfce桌面-CSDN博客 Ubuntu/Debian/Kali xrdp远程桌面黑屏/空屏/无画面解决办法 - 知乎 (zhihu.com) sudo apt-get install xrdp -y sudo apt-get install xfce4 -ysudo systemctl enable xrdp --now systemctl status xrd…

中级.NET开发工程师面试经历

文章目录 前言面试题目&#xff08;只记录了还记得的部分&#xff09;一.简单说下.NETCORE的生命周期&#xff1f;二.C#如何保证在并发情况下接口不会被重复触发&#xff1f;三.引用类型和值类型有什么区别&#xff1f;四.那怎样能让引用类型和值类型一样&#xff0c;在赋值的时…