StarRocks下载使用说明和基础操作

简介

StarRocks 是一款高性能分析型数据仓库,使用向量化、MPP 架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。StarRocks 既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数据。StarRocks 兼容 MySQL 协议,可使用 MySQL 客户端和常用 BI 工具对接。同时 StarRocks 具备水平扩展,高可用、高可靠、易运维等特性。广泛应用于实时数仓、OLAP 报表、数据湖分析等场景。

下载

文中使用版本为3.2.4,可通过官网自行下载

准备部署文件 | StarRocks

文章中使用的是存算一体架构,starrocks也支持存算分离架构

解压

tar -zxvf StarRocks-3.2.4.tar.gz

目录结构

启动 Leader FE 节点

创建元数据存储路径

mkdir -p /opt/starrocks/data/fe

修改 FE 配置文件

vim fe/conf/fe.conf

启动 FE 节点

./fe/bin/start_fe.sh --daemon

查看 FE 日志

cat fe/log/fe.log | grep thrift

如果日志打印以下内容,则说明该 FE 节点启动成功:

启动 BE 服务

创建数据存储路径

mkdir -p /opt/starrocks/data/be

修改 BE 配置文件 be/conf/be.conf

vim be/conf/be.conf

启动 BE 节点

./be/bin/start_be.sh --daemon

查看 BE 日志

cat be/log/be.INFO | grep heartbeat

如果日志打印以下内容,则说明该 BE 节点启动成功:

停止命令

停止 FE 节点。

./fe/bin/stop_fe.sh --daemon

停止 BE 节点。

./be/bin/stop_be.sh --daemon

添加BE节点至集群

通过工具连接,需要在服务器预装mysql客户端

mysql -h 192.168.x.xx -P 9030 -uroot

查看 Leader FE 节点状态

SHOW PROC '/frontends'\G

如果字段 Alive 为 true,说明该 FE 节点正常启动并加入集群。

如果字段 Role 为 FOLLOWER,说明该 FE 节点有资格被选为 Leader FE 节点。

如果字段 Role 为 LEADER,说明该 FE 节点为 Leader FE 节点。

添加 BE 节点至集群。

ALTER SYSTEM ADD BACKEND "192.168.x.xx:9050";

查看 BE 节点状态

SHOW PROC '/backends'\G

如果字段 Alive 为 true,说明该 BE 节点正常启动并加入集群。

这样就可以通过工具连接,跟连接mysql类似,这里使用的是navicat

测试语句

CREATE DATABASE example_db;

USE example_db;

-- 新建用户并授权

create user 'testuser'@'%' IDENTIFIED by '123456';

GRANT all ON databasename.* TO 'testuser'@'%';

-- 仅包含一个 BE,所以需要加PROPERTIES( "replication_num" = "1" )

CREATE TABLE user_access (

    uid int,

    name varchar(64),

    age int,

    phone varchar(16),

    last_access datetime,

    credits double

)

PROPERTIES( "replication_num" = "1" );

CREATE TABLE orders1 (

    order_id bigint NOT NULL,

    dt date NOT NULL,

    user_id INT NOT NULL,

    good_id INT NOT NULL,

    cnt int NOT NULL,

    revenue int NOT NULL

)

PRIMARY KEY (order_id)

DISTRIBUTED BY HASH (order_id)

PROPERTIES( "replication_num" = "1" )

;

CREATE TABLE orders2 (

    order_id bigint NOT NULL,

    dt date NOT NULL,

    merchant_id int NOT NULL,

    user_id int NOT NULL,

    good_id int NOT NULL,

    good_name string NOT NULL,

    price int NOT NULL,

    cnt int NOT NULL,

    revenue int NOT NULL,

    state tinyint NOT NULL

)

PRIMARY KEY (order_id,dt,merchant_id)

PARTITION BY date_trunc('day', dt)

DISTRIBUTED BY HASH (merchant_id)

ORDER BY (dt,merchant_id)

PROPERTIES (

    "enable_persistent_index" = "true",

"replication_num" = "1"

);

CREATE TABLE detail (

    event_time DATETIME NOT NULL COMMENT "datetime of event",

    event_type INT NOT NULL COMMENT "type of event",

    user_id INT COMMENT "id of user",

    device_code INT COMMENT "device code",

    channel INT COMMENT "")

ORDER BY (event_time, event_type)

PROPERTIES( "replication_num" = "1" );

CREATE TABLE aggregate_tbl (

    site_id LARGEINT NOT NULL COMMENT "id of site",

    date DATE NOT NULL COMMENT "time of event",

    city_code VARCHAR(20) COMMENT "city_code of user",

    pv BIGINT SUM DEFAULT "0" COMMENT "total page views"

)

AGGREGATE KEY(site_id, date, city_code)

DISTRIBUTED BY HASH(site_id)

PROPERTIES( "replication_num" = "1" );

CREATE TABLE orders4 (

    create_time DATE NOT NULL COMMENT "create time of an order",

    order_id BIGINT NOT NULL COMMENT "id of an order",

    order_state INT COMMENT "state of an order",

    total_price BIGINT COMMENT "price of an order"

)

UNIQUE KEY(create_time, order_id)

DISTRIBUTED BY HASH(order_id);

PROPERTIES( "replication_num" = "1" );

DESCRIBE user_access;

SHOW CREATE TABLE user_access;

-- 从本地文件导入数据

CREATE TABLE `table1`

(

    `id` int(11) NOT NULL COMMENT "用户 ID",

    `name` varchar(65533) NULL COMMENT "用户姓名",

    `score` int(11) NOT NULL COMMENT "用户得分"

)

ENGINE=OLAP

PRIMARY KEY(`id`)

DISTRIBUTED BY HASH(`id`)

PROPERTIES( "replication_num" = "1" );

-- 查看 FE 节点的 IP 地址和 HTTP 端口号。

SHOW FRONTENDS;

-- 导入作业

curl --location-trusted -u root: -H "label:123" -H "Expect:100-continue" -H "column_separator:," -H "columns: id, name, score" -T D:\\data\\test.csv -XPUT http://192.168.5.66:8030/api/example_db/table1/_stream_load

select * from table1;

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

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

相关文章

142. 两个字符串的最小 ASCII 删除总和(卡码网周赛第二十五期(23年B站笔试真题))

题目链接 142. 两个字符串的最小 ASCII 删除总和&#xff08;卡码网周赛第二十五期&#xff08;23年B站笔试真题&#xff09;&#xff09; 题目描述 给定两个字符串 s1 和 s2&#xff08;0 < s1.length, s2.length < 1000&#xff09;&#xff0c;返回使两个字符用相等所…

C++:组合和继承的区别

组合介绍以及与继承对比 什么是组合 (1)composition&#xff0c;组合&#xff0c;就是在一个class内使用其他多个class的对象作为成员 (2)用class tree做案例讲解 (3)组合也是一种代码复用方法&#xff0c;本质也是结构体包含 #include <iostream> #include <vector…

CMakeLists.txt编写思路

近期在linux编写CMakeLists.txt文件&#xff0c;整理了一些思路。 一、编写CMakeLists.txt的基本步骤和思路&#xff1a; 初始化CMake&#xff1a; 使用cmake_minimum_required指令指定CMake的最小版本要求&#xff0c;以确保兼容性。使用project指令定义项目名称和可选的语言…

前端-Cookie篇

文章目录 一、由来什么是Cookie&#xff1f;特点Cookie的类型 二、原理三、Cookie生成机制客户端设置案例 四、属性五、缺陷最后分享一段自己工作中封装的一些关于cookie的公众方法✒️总结 前端Cookie是Web开发中非常重要的一部分&#xff0c;它是服务器发送到用户浏览器并保存…

Mysql索引什么时候会失效

在 MySQL 中&#xff0c;索引是提高查询效率的关键工具&#xff0c;但在某些情况下&#xff0c;索引可能会失效。以下是一些常见的索引失效情况&#xff1a; 使用不等号&#xff08;! 或 <>&#xff09;&#xff1a; 使用不等号会导致索引失效&#xff0c;因为不等号无法…

Python模块ConfigParser读取应用程序的配置文件简单示例

一、模块说明&#xff1a; 系统管理员通常通过文本编辑器编辑这些配置文件&#xff0c;以设置应用程序的默认值&#xff0c;然后应用程序将读取并解析这些配置文件&#xff0c;并根据其中的内容执行对应操作。ConfigParser模块具有read()方法&#xff0c;用于读取配置文件。 …

STM32自己从零开始实操08:STM32主控原理图

由于老师使用的各引脚分门别类的单片机原理图我没有找到&#xff0c;我使用是引脚按顺序摆放的&#xff0c;不方便一个模块一个模块截图展示&#xff0c;所以这部分使用老师的原理图。 一、电源 1.1电源的介绍 1.1.1数字电源和地&#xff08;VDD和VSS&#xff09; 数字电源…

中国各省养老机构数据明细(更新至2024年)

中国养老机构是指为老年人提供集中居住、生活照顾、健康管理、文化娱乐等综合性服务的设施。这些机构包括养老院、福利院、老年公寓等多种形态&#xff0c;既有公立也有民办&#xff0c;遍布城市与农村。 一、数据介绍 数据名称&#xff1a;中国养老机构数据明细 数据范围&am…

[leetcode]minimum-cost-to-reach-destination-in-time 规定时间内到达终点的最小费用

. - 力扣&#xff08;LeetCode&#xff09; class Solution { private:// 极大值static constexpr int INFTY INT_MAX / 2;public:int minCost(int maxTime, vector<vector<int>>& edges, vector<int>& passingFees) {int n passingFees.size();ve…

LinkedList----源码分析

源码介绍 public class LinkedList<E>extends AbstractSequentialList<E>implements List<E>, Deque<E>, Cloneable, java.io.Serializable{} 添加过程中的操作&#xff1a; 当创建LinkedList类时&#xff0c;会调用其空参构造方法&#xff0c;将其参…

ipv4和ipv6的兼容性问题

ipv4和ipv6的兼容 现今大多知名网站都是同时支持ipv6和ipv4&#xff0c;这种可以分为两种情况讨论&#xff1a; 一个IPv4的网络和一个IPv6的网络通信;一个IPv6的网络和一一个IPv6的网络通信&#xff0c;但是中间需要经过一一个IPv4的网络。 先以第一种为例&#xff1a; 若一…

昇思大模型——MindFormers的使用----从零开始安装配置环境

MindSpore Transformers套件的目标是构建一个大模型训练、微调、评估、推理、部署的全流程开发套件&#xff0c;提供业内主流的Transformer类预训练模型和SOTA下游任务应用&#xff0c;涵盖丰富的并行特性。期望帮助用户轻松的实现大模型训练和创新研发。 MindSpore Transform…

LeetCode 算法:实现 Trie (前缀树) c++

原题链接&#x1f517;&#xff1a;实现 Trie (前缀树) 难度&#xff1a;中等⭐️⭐️ 题目 Trie&#xff08;发音类似 “try”&#xff09;或者说 前缀树 是一种树形数据结构&#xff0c;用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景&#xff0…

关于C# 开发Winfrom事后总结

一&#xff1a;要求能读取文件夹中视频及图片并判断 private void Form1_Load(object sender, EventArgs e){string foldPath "路径";//获取该目录下的文件 string[] files Directory.GetFiles(foldPath "\\", "*.*", System.IO.SearchOption…

Linux编程第三篇:Linux简介,开源软件简介(Linux是否安全?参考TESEC指标)

业精于勤荒于嬉&#xff0c;行成于思毁于随。 今天这篇算是Linux的正式学习&#xff0c;废话不多说&#xff0c;我们开始吧 第三篇 一、UNIX与Linux发展史1.1、UNIX发展历史和发行版本1.2、UNIX主要发行版本1.3、Linux发展历史1.4、Linux内核版本1.5、Linux主要发行版本 二、开…

渐变且描边文字

效果&#xff1a; 用 background-image&#xff1a;linear-gradient实现渐变、 text-shadow实现描边 元素同时添加&#xff1a; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(143, 180, 253, 1));-webkit-background-clip: text;background-…

大整数加法C++

大整数加法C 方法代码 方法 小的数在前&#xff0c;大数在后加数、被加数进行翻转&#xff0c;从低位开始加起&#xff0c;因为数组是从0位开始&#xff0c;与正常手工加法不同。设置进位符carry_flag先对小的数进行控制&#xff0c;做加法再对大的数剩下的部分&#xff0c;做…

Spring支持人工智能应用框架-SpringAi

简介 人工智能技术和日益成熟&#xff0c;开发企业级人工智能的应用已成为一个热门的趋势。Spring AI 是一个用于 AI 工程的应用框架&#xff0c;目的是为了简化AI应用的对接、部署、维护和扩展。 SpringAi的灵感来自LangChain和LlamaIndex&#xff0c;但是SpringAi并不是直接…

Python实现动态迷宫生成:自动生成迷宫的动画

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame定义迷宫生成类主循环 完整代码 引言 迷宫生成算法在游戏开发和图形学中有着广泛的应用。它不仅可以用于创建迷宫游戏&#xff0c;还可以用于生成有趣的图案。在这篇博客中&#xff0c;我们将使用Python…

一文了解java中Optional

文章目录 1. Optional简介2. 常用的接口2.1 常用接口简单使用2.1.1 创建的常用方法2.1.2 获取值的常用方法2.1.3 判定的常用方法2.1.4 判定后的操作方法2.2 map方法介绍 2.2 其他方法2.2.1 Filter 方法2.2.2 FlatMap 方法 3. 常用的实例4. 总结 1. Optional简介 Optional是在ja…